訪問Hid裝置,並進行讀寫操作

2021-10-24 11:39:33 字數 1992 閱讀 8591

目前這個**可以讀取到裝置,但是貌似對裝置建立讀寫的時候回發生報錯,希望知道如何處理的讀者能告知。

#include

#include

#include

#include

#include

"hidapi.h"

// headers needed for sleeping.

#ifdef _win32

#include

#else

#include

#endif

intget_error()

;int

main

(int argc,

char

* ar**)

printf

("\n");

}}intget_error()

return0;

}

int

myusbdeviceopen

(handle *handle, handle *hreader, handle *hwriter, word wvid, word wpid)};

hardwaredeviceinfo =

setupdigetclassdevsa

(&inte***ceclassguid,

null

,null

,(digcf_present | digcf_deviceinte***ce));

for(

int i =

0; i <

128; i++

)closehandle

(hd)

; hd = invalid_handle_value;

}free

(hidfunctionclassdata);}

setupdidestroydeviceinfolist

(hardwaredeviceinfo)

;*handle = hd;

*hreader = reader;

*hwriter = writer;

return bret;

}int

myusbdevicewrite

(handle handle, lpcvoid lpbuffer, dword dwsize)

; dword dwret =0;

bool bret;

wbuffer[0]

=0x00

; wbuffer[1]

=(unsigned

char

)dwsize;

memcpy

(&wbuffer[2]

, lpbuffer,

min(capabilities.outputreportbytelength, dwsize));

bret =

writefile

(handle, wbuffer, capabilities.outputreportbytelength,

&dwret,

null);

return bret;

}int

myusbdeviceread

(handle handle, lpvoid lpbuffer, dword dwsize)

; dword dwret;

bool bret;

rbuffer[0]

=0x00

; bret =

readfile

(handle, rbuffer, capabilities.inputreportbytelength,

&dwret,

null);

memcpy

(lpbuffer,

&rbuffer[0]

,min

(rbuffer[0]

, dwsize));

return bret;

}

差不多就這些了。

spark訪問Redis並進行操作

redis是一種高效能的記憶體資料庫,其應用場合非常廣泛,在一些實時性要求比較高的場景中,以redis作為架構來實現的是比較多的。redis提供了好幾種資料結構,如set,list,hash等。可以適應不同的場合要求。但是也發現redis存在乙個問題,其沒有 的概念,而是以字典 鍵空間 的方式來管理...

ssh修改埠號並進行遠端訪問

ssh的訪問如果都利用22埠,則會容易被攻擊,修改乙個埠號可增強一定的安全性 1.修改配置檔案sshd config裡埠號 root test vi etc ssh sshd config change default value.port 40339 將注釋開啟,並且修改埠號 addressfam...

spring掃瞄自定義註解並進行操作

今天又個需求,就是根據註解來判斷是否介面為對外開放,那麼啟動spring容器的時候把這些註解修飾的bean name放進快取當中。掃瞄註解新增服務到快取以供判斷時候為對外開放service component lazy true class annotationscannerconfigurer i...