USBD_ValidateConfigurationDescriptor関数 (usbdlib.h)
USBD_ValidateConfigurationDescriptor ルーチンは、構成記述子要求への応答でデバイスによって返されるすべての記述子を検証します。
構文
USBD_STATUS USBD_ValidateConfigurationDescriptor(
[in] PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
[in] ULONG BufferLength,
[in] USHORT Level,
[out] PUCHAR *Offset,
[in, optional] ULONG Tag
);
パラメーター
[in] ConfigDesc
USB デバイスから取得されたすべてのインターフェイス、エンドポイント、ベンダー、およびクラス固有の記述子を含む構成記述子へのポインター。
[in] BufferLength
検証対象の構成記述子のサイズ (バイト単位)。
[in] Level
実行する検証のレベル。 有効な値は次のようになります。
- 1-構成記述子ヘッダーの基本的な検証。
- 2-無効なエンドポイント アドレス、インターフェイス番号、記述子構造、インターフェイス代替設定、インターフェイスの数、すべての記述子の bLength フィールドのチェックなど、構成記述子の完全な検証。
- 3- レベル 1 とレベル 2 の検証に加えて、レベル 3 は各インターフェイスのエンドポイント数を検証し、USB 仕様の記述子 bLength サイズを適用し、すべてのインターフェイス番号が順番に並んでいるかどうかを確認します。
[out] Offset
検証に失敗した構成記述子内のオフセット。 USBD_STATUS_SUCCESS以外の状態が返された場合にのみ有効です。
[in, optional] Tag
メモリの割り当て時 にUSBD_ValidateConfigurationDescriptor によって使用されるプール タグ。
戻り値
USBD_STATUS_SUCCESS。検証に失敗した場合は適切な USBD エラー コード。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のオペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | usbdlib.h (Usbdlib.h を含む) |
Library | Usbd.lib |
IRQL | PASSIVE_LEVEL |