I call DeviceIoControl function to get tap version,but it returned error, and
GetLastError return 1.
this is my code:
int main(int argc, char* argv[])
{
HANDLE hICDriver =
CreateFile("\\\\.\\{E00D9A99-2A50-47F6-9B6C-FCD17739CCE5}",
GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING, FILE_ATTRIBUTE_SYSTEM |
FILE_FLAG_OVERLAPPED, NULL);
if (hICDriver==INVALID_HANDLE_VALUE)
{
printf("打开设备失败 ErrorCode=%d\n", GetLastError());
goto err;
}
printf("成功打开设备\n");
ULONG info[3];
DWORD len;
memset(info, 0, sizeof(ULONG)*3);
if (!DeviceIoControl (hICDriver, TAP_IOCTL_GET_VERSION,
&info, sizeof (info),
&info, sizeof (info), &len, NULL))
{
printf("DeviceIoControl ErrorCode=%d\n", GetLastError());
goto err;
}
err:
Sleep(5000);
return 0;
}