次の方法で共有


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

こちらもご覧ください

USB デバイス ドライバーのプログラミング参照