USBD_ParseDescriptors ルーチンは、特定の構成記述子を検索し、検索条件に一致する最初の記述子へのポインターを返します。
構文
PUSB_COMMON_DESCRIPTOR USBD_ParseDescriptors(
[in] PVOID DescriptorBuffer,
[in] ULONG TotalLength,
[in] PVOID StartPosition,
[in] LONG DescriptorType
);
パラメーター
[in] DescriptorBuffer
検索する記述子を含む構成記述子へのポインター。
[in] TotalLength
DescriptorBuffer が指すバッファーのサイズバイト単位で指定します。
[in] StartPosition
DescriptorBuffer で指定構成記述子内のアドレスへのポインター。検索を開始します。 構成記述子の先頭から検索するには、DescriptorBuffer と startPosition パラメーターが同じアドレスである必要があります。
[in] DescriptorType
USB によって割り当てられた記述子の種類のコードを指定します。 USB で定義された記述子の種類には、次の値が有効です。
USB_STRING_DESCRIPTOR_TYPE
検索対象の記述子が文字列記述子であることを指定します。
USB_INTERFACE_DESCRIPTOR_TYPE
検索対象の記述子がインターフェイス記述子であることを指定します。
USB_ENDPOINT_DESCRIPTOR_TYPE
検索対象の記述子がエンドポイント記述子であることを指定します。
戻り値
USBD_ParseDescriptors は、指定された検索条件に一致する最初の記述子の先頭である USB_COMMON_DESCRIPTOR 構造体へのポインターを返します。一致するものが見つからない場合は NULL が返。
備考
この構造体は、記述子の一部を保持するために使用されるため、USBD_ParseDescriptors の呼び出し元は、記述子の残りのデータにアクセスするために使用する正しい構造を決定できます。 すべての記述子の種類には、データの先頭にこれらのフィールドがあり、呼び出し元は、bLength と bDescriptorType メンバーを使用して、この記述子の型を正しく識別できます。
このルーチンは、検索条件に一致する記述子を探して構成記述子を解析すると、最初の一致を返し、検索を終了します。
必要条件
| 要件 | 価値 |
|---|---|
| ターゲット プラットフォーム の | 万国 |
| ヘッダー | usbdlib.h (Usbdlib.h を含む) |
| ライブラリ | Usbd.lib |
| IRQL | < DISPATCH_LEVEL |