在取得USB HID裝置時,讀和寫可以一起開嗎? |
答題得分者是:AndrewK
|
vk8051
一般會員 發表:22 回覆:33 積分:21 註冊:2007-08-10 發送簡訊給我 |
///////////////////////////////////////////////////////////////////////
// GetDeviceHandle(GUID guid, HANDLE hDev, DWORD wDevice, BOOL bIn) // 取得欲連結裝置的HANDLE // bIn: 傳輸方向, 如果bIn為真則為從HID ==> PC /////////////////////////////////////////////////////////////////////// HANDLE TLed_HID::GetDeviceHandle(GUID guid, HANDLE hDev, DWORD dwDevice, BOOL bIn) { unsigned long dwSize=0; HANDLE hDevice; SP_DEVICE_INTERFACE_DATA interfaceDev; interfaceDev.cbSize = sizeof(SP_DEVICE_INTERFACE_DATA); //------------------------------------------------------------------------ //Get interface if(!SetupDiEnumDeviceInterfaces(hDev, NULL, &guid, dwDevice, &interfaceDev)|| SetupDiGetDeviceInterfaceDetail(hDev, &interfaceDev, NULL, 0, &dwSize, NULL)) { return INVALID_HANDLE_VALUE; } //------------------------------------------------------------------------ //Create buffer SP_INTERFACE_DEVICE_DETAIL_DATA *pDeviceDetail; pDeviceDetail = (SP_INTERFACE_DEVICE_DETAIL_DATA*)malloc(dwSize); pDeviceDetail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA); //------------------------------------------------------------------------ if(!SetupDiGetDeviceInterfaceDetail(hDev, &interfaceDev, pDeviceDetail, dwSize, &dwSize, NULL)) { free(pDeviceDetail); return INVALID_HANDLE_VALUE; } //------------------------------------------------------------------------ if( bIn )//Get device handle { hDevice=CreateFile( pDeviceDetail->DevicePath, GENERIC_READ,//READ,USB=>PC~ FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); } else { hDevice=CreateFile( pDeviceDetail->DevicePath, GENERIC_WRITE,//WRITE,PC=>USB~ FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); } free(pDeviceDetail); return hDevice; } 1.上面的程式中CreateFile讀寫可以同時開啟嗎? hDevice=CreateFile( pDeviceDetail->DevicePath, GENERIC_WRITE|GENERIC_READ, FILE_SHARE_WRITE|FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); 2.是這個涵式是要幹麻? free(pDeviceDetail);
------
vincent |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
1.可以,你可以試試看,設定的屬性,就是開放的權限,確定程式碼正常,
不行的話,就看一下產品說明書 2.你可以看 Free function 的 Help 說明
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |