DeviceIoControl错误代码ERROR_CRC
高安 2019-04-22 04:17:15 代码如下:
BOOL OpenUSBPort()
{
if (m_hDevice != INVALID_HANDLE_VALUE)
return true;
m_hDevice = CreateFile(
m_DevicePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
FILE_FLAG_OVERLAPPED,
NULL);
return m_hDevice != INVALID_HANDLE_VALUE;
}
BOOL Control_Info(HANDLE hDevice,DWORD cntrlCode,LPTSTR buff,DWORD &len)
{
BOOL retFlag;
DWORD retLen;
DWORD waitTimes = 0;
OVERLAPPED overlapped;
memset(&overlapped, 0, sizeof(OVERLAPPED));
overlapped.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
retFlag = DeviceIoControl(
hDevice, //HANDLE hDevice,
cntrlCode,//DWORD cntrlCode,
NULL, //LPVOID lpInBuffer,
0, //DWORD nInBufferSize,
buff, //LPVOID lpOutBuffer,
len, //DWORD nOutBufferSize,
&retLen, //LPDWORD lpBytesReturned,
&overlapped // LPOVERLAPPED lpOverlapped
);
WaitForSingleObject(overlapped.hEvent, 2000);
len = retLen;
return retFlag;
}
每次执行的时候错误代码都是ERROR_CRC,按说应该是:ERROR_IO_PENDING,请哪位高手指点一下,谢谢