代碼如下:
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,請哪位高手指點一下,謝謝
uj5u.com熱心網友回復:
cntrlCode = IOCTL_USBPRINT_GET_1284_ID轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/50131.html
標籤:硬件/系統
上一篇:有誰知道MFC怎樣實作簡單通信
