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,请哪位高手指点一下,谢谢
...全文
71 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
高安 2019-04-22
  • 打赏
  • 举报
回复
cntrlCode = IOCTL_USBPRINT_GET_1284_ID

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧