外部チップからバイトデータを読み込みたい。関数を使用していReadfile()
ます。
GENERIC_READ = 0x80000000;
uint GENERIC_WRITE = 0x40000000;
FILE_SHARE_READ = 0x00000001;
FILE_SHARE_WRITE = 0x00000003;
FILE_FLAG_NO_BUFFERING = 0x20000000;
ReadHandle, ReadHandle = CreateFile(Devicepath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, OPEN_EXISTING, 0, FILE_FLAG_NO_BUFFERING);
これらの定数はすべてパブリック定数として定義されています。入力レポートの長さを取得しています
HidP_GetCaps. int myPtrToPreparsedData = -1;
int reportLength = myHIDP_CAPS.InputReportByteLength
実行がこの行に来ると、システムはハングアップし、さらに先に進みます。
(ReadFile(ReadHandle, LBytes, IRBLength, ref BRead, 0))
ReadHandle
有効です。これは createFile 関数とLBytes =[256],IRBLength=256,ref BRead =0
. コードのこの部分でハングアップする理由についての提案。