WinUsb_GetDescriptor関数 (winusb.h)
WinUsb_GetDescriptor関数は、要求された記述子を返します。 これは同期操作です。
構文
BOOL WinUsb_GetDescriptor(
[in] WINUSB_INTERFACE_HANDLE InterfaceHandle,
[in] UCHAR DescriptorType,
[in] UCHAR Index,
[in] USHORT LanguageID,
[out] PUCHAR Buffer,
[in] ULONG BufferLength,
[out] PULONG LengthTransferred
);
パラメーター
[in] InterfaceHandle
選択した構成のインターフェイスへの不透明なハンドル。
デバイスまたは構成記述子を取得するには、 WinUsb_Initializeによって返されるハンドルを使用します。
最初のインターフェイスのインターフェイス記述子を取得するには、 WinUsb_Initializeによって返されるハンドルを使用します。
最初のインターフェイスでエンドポイントのエンドポイント記述子を取得するには、 WinUsb_Initializeによって返されるハンドルを使用します。
他のすべてのインターフェイスとその関連エンドポイントの記述子を取得するには、 WinUsb_GetAssociatedInterfaceによって取得されたターゲット インターフェイスへのハンドルを使用します。
[in] DescriptorType
返す記述子の種類を示す 値です。 このパラメーターは、標準デバイス記述子の bDescriptorType フィールドに対応しており、その値は ユニバーサル シリアル バス 仕様で説明されています。 これらの値の一部は、_URB_CONTROL_DESCRIPTOR_REQUEST構造体の DescriptorType メンバーの説明に記載されています。
[in] Index
記述子インデックス。 記述子インデックスの詳細については、 ユニバーサル シリアル バス の仕様 (www.usb.org) を参照してください。
[in] LanguageID
要求された記述子が文字列記述子の場合は、言語識別子を指定する 値。
[out] Buffer
要求された記述子を受け取る呼び出し元によって割り当てられたバッファー。
[in] BufferLength
Buffer の長さ (バイト単位)。
[out] LengthTransferred
Buffer にコピーされたバイト数。
戻り値
操作が 成功した場合、WinUsb_GetDescriptor は TRUE を返します。 それ以外の場合、このルーチンは FALSE を返し、呼び出し元は GetLastError を呼び出すことによってログに記録されたエラーを取得できます。
GetLastError は 、次のエラー コードを返すことができます。
リターン コード | 説明 |
---|---|
|
呼び出し元は InterfaceHandle パラメーターに NULL を渡しました。 |
注釈
Buffer パラメーターが指す出力バッファーが十分な大きさの場合、WinUsb_GetDescriptorは指定された記述子のコピーを出力バッファーに作成します。 バッファーが記述子データを保持するのに十分な大きさでない場合、データはコピーされません。 記述子は 、WinUsb_Initialize 呼び出し中に作成されるか、デバイスからこの時点で取得される可能性があります。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | winusb.h (Winusb.h を含む) |
Library | Winusb.lib |
[DLL] | Winusb.dll |