以下是我的代码,作用是打开一个U盘设备,通过对DeviceIoControl的调用来得到它的PID与VID,功能很简单,但是不知道为什么对DeviceIoControl的调用总是返回FALSE,请帮帮忙HANDLE hDev = ::CreateFile(
TEXT("\\\\.\\i:"),
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING, 
0,
NULL);
if (INVALID_HANDLE_VALUE == hDev)
{
wprintf(TEXT("%ws\n"), TEXT("CreateFile is failed!"));
}

memset(&productData, NULL, sizeof(CHANGER_PRODUCT_DATA));
bRst = ::DeviceIoControl(
(HANDLE)hDev,
IOCTL_CHANGER_GET_PRODUCT_DATA,
NULL, 0,
&productData,
sizeof(productData),
&dwRetByte,
NULL);
if (!bRst)
{
wprintf(TEXT("%ws\n"), TEXT("DeviceIoControl is failed!"));