IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET IOCTL (genericusbfnioctl.h)
この I/O 制御コード (IOCTL) は、デバイス上の関数に設定されたユニバーサル シリアル バス (USB) インターフェイス記述子全体を取得するために、ユーザー モード サービスまたはアプリケーションによって送信されます。
[入力バッファー]
USBFN_INTERFACE_INFO構造体へのポインター。
入力バッファーの長さ
USBFN_INTERFACE_INFO構造体のサイズ。
出力バッファー
USBFN_INTERFACE_INFO構造体を含むバッファーへのポインター。 USB 関数クラス拡張機能 (UFX) は、エンドポイント記述子を含むインターフェイス記述子セット全体を構造体に設定します。
出力バッファーの長さ
USBFN_INTERFACE_INFOのサイズ。
注釈
この要求は、 IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS 要求を送信した後に送信する必要があります。
インターフェイス記述子全体の長さは可変です。 クラス ドライバーは、記述子セット全体を取得するために、この IOCTL 要求を 2 回送信する必要がある場合があります。
記述子セット全体の長さが指定された出力バッファー長を超える場合、UFX は USBFN_INTERFACE_INFO の Size メンバーを実際のバッファー長に設定し、STATUS_BUFFER_TOO_SMALLで要求を失敗します。 その後、ドライバーは Size で指定された長さの出力バッファーを割り当て、要求を再送信する必要があります。
この I/O 制御コード (IOCTL) が同期的に呼び出されている場合は、 lpOverlapped パラメーターを NULL に設定します。 この IOCTL が非同期的に呼び出される場合は、 lpOverlapped パラメーターを、イベント オブジェクトへのハンドルを含む OVERLAPPED 構造体へのポインターに割り当てます。 イベント オブジェクトは、操作の完了時に通知します。
戻り値は、操作の成功または失敗を示す BOOL 値です。 TRUE は成功を示し、それ以外の場合は FALSE を示します。
要件
要件 | 値 |
---|---|
Header | genericusbfnioctl.h (GenericUsbFnIoctl.h を含む) |