關於ReadFile無法讀出HID裝置問題 |
答題得分者是:syntax
|
wensueshian
一般會員 發表:2 回覆:3 積分:1 註冊:2003-11-16 發送簡訊給我 |
請問各位前輩
小弟目前利用WriteFile函式寫入一個HID裝置(共64byte), 然後利用ReadFile讀回寫入值時卻回傳錯誤碼87, 可否幫忙解答? 感謝 程式碼如下 //===================================================================================// char InputReport[65]; DWORD NumberOfBytesRead; Result = ReadFile(ReadHandle, InputReport, Capabilities.InputReportByteLength, // Capabilities.InputReportByteLength = 65(十進制); &NumberOfBytesRead, NULL); int Result1 = GetLastError(); //===================================================================================// 最後發現 Result1 = 87 ; 傳入參數錯誤~~ 請問各位前輩是我ReadFile的哪些參數設錯了嗎?? 編輯記錄
|
syntax
尊榮會員 發表:26 回覆:1139 積分:1258 註冊:2002-04-23 發送簡訊給我 |
BOOL ReadFile( HANDLE lpBuffer, <-----------這個是指標,你傳的是數值 DWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); |
wensueshian
一般會員 發表:2 回覆:3 積分:1 註冊:2003-11-16 發送簡訊給我 |
所以我的程式應該改成如下這樣嗎?
char InputReport[65]; DWORD NumberOfBytesRead; Result = ReadFile(ReadHandle, &InputReport, Capabilities.InputReportByteLength, // Capabilities.InputReportByteLength = 65(十進制); &NumberOfBytesRead, NULL); int Result1 = GetLastError();
編輯記錄
wensueshian 重新編輯於 2007-05-22 10:13:45, 註解 無‧
wensueshian 重新編輯於 2007-05-22 10:14:01, 註解 無‧ wensueshian 重新編輯於 2007-05-22 10:18:30, 註解 無‧ |
wensueshian
一般會員 發表:2 回覆:3 積分:1 註冊:2003-11-16 發送簡訊給我 |
|
wensueshian
一般會員 發表:2 回覆:3 積分:1 註冊:2003-11-16 發送簡訊給我 |
可是小弟用WriteFile函式按照上面ReadFile寫入就成功 , 程式碼如下
//===============================================================// DWORD BytesWritten; ULONG Result; char OutputReport[64] ; unsigned int i; OutputReport[0]=1; for (i = 1; i < 64; i) OutputReport[i] = 'X'; Result = WriteFile(DeviceHandle, OutputReport, Capabilities.OutputReportByteLength, // 65 &BytesWritten, NULL); //===============================================================// Result =1 , 利用BUS Hound觀察有成功寫入USB裡!! |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |