JAJA452A january 2011 – may 2023
API はデータ構造体を使用して、hiddevice.h で定義されている HID デバイスに関連するすべての情報を格納します (表 7-1 を参照)。この構造体のインスタンスは、デバイスに関係する任意の API 呼び出しに渡されます。
フィールド | 概要 | データの起源 |
---|---|---|
HANDLE hndHidDevice | この HID デバイスのハンドル。 | HID_Open() によって書き込まれます。HID_Close() をするとき、INVALID_HANDLE_VALUE に設定されます。 |
BOOL bDeviceOpen | デバイスが開いていること、および hndHidDevice のハンドルが有効であることを示すブール値。 | HID_Open() および HID_Close() によって書き込まれます。 |
UINT uGetReportTimeout | データ読み取りのタイムアウト値 (ミリ秒単位)。これは、データ読み取り動作中に、デバイスからの特定のレポートを HID_ReadFile() が待機する時間です。 | アプリケーションによって初期化される必要があります。デモ・アプリケーションでは、これを UsbAppDlg.cpp で実行します。 |
UINT uSetReportTimeout | データ書き込みのタイムアウト値 (ミリ秒単位)。これは、データ送信動作中に、デバイスが特定のレポートを受信するまで、HID_WriteFile() が待機する時間です。 | アプリケーションによって初期化される必要があります。デモ・アプリケーションでは、これを UsbAppDlg.cpp で実行します。 |
OVERLAPPED oRead | 非同期 I/O 構造体 | HID_Init() によって初期化されます。 |
OVERLAPPED oWrite | 非同期 I/O 構造体 | HID_Init() によって初期化されます。 |
WORD wInReportBufferLength | 入力レポートの最大長。 | デバイスの USB ディスクリプタから派生した HID_Init() によって初期化されます。 |
WORD wOutReportBufferLength | 出力レポートの最大長。 | デバイスの USB ディスクリプタから派生した HID_Init() によって初期化されます。 |
BYTE inBuffer[256] | 受信データを受信するためのバッファ。 | HID_readFile() によって書き込まれ、アプリケーションによって読み取られます。 |
WORD inBufferUsed | inBuffer[] のバイト数。 | HID_readFile() によって書き込まれ、アプリケーションによって読み取られます。 |