第一次做USB上位机通讯软体,用于调试的USB从站设备为三菱的A800变频器,获得设备相关信息后,
USB device is HUB:
USB extHubName:USB#VID_8087&PID_0024#5&371edbc6&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
Find A800
{36fc9e60-c465-11cf-8056-444553540000}\0107 is connected
USB controller name:MITSUBISHI FREQROL A800 USB Controller
connection index:[Port:5]
Class : 255
VID : 1747
PID : 7776
iManufacturer : 1
niSerialNumber: 0
bus speed full
Device Address: 2 nOpen Pipes: 2
read:0 buf:P
readfile writefile返回值都是0,
相关程序:
char buff[64];
ULONG nWritten;
ULONG nRead;
memset(buff,0,64);
BOOL read;
BOOL write;
read = ReadFile(hHubDevice, buff, 64, &nRead, NULL);
if(!read)
{
DWORD dwError;
dwError = GetLastError();
USBInfo.append(QString("GetLastError :%1").arg(dwError));
}
有哪位大神可以指导下为什么会出现这样的情况?
还是说createfile需要特殊的设定才可以读写设备
hHubDevice = CreateFile(deviceName,
GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0,
NULL);
请问相同的设备多次CreateFile获得的句柄hHubDevice是相同的吗?