IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS IOCTL (usbioctl.h)

クライアント ドライバーは、トランスポート特性を取得するためにこの要求を送信します。

メジャー コード

IRP_MJ_DEVICE_CONTROL

入力/出力バッファー

AssociatedIrp.SystemBuffer メンバーは、呼び出し元によって割り当てられたUSB_TRANSPORT_CHARACTERISTICS構造体へのポインターです。 入力時に、[ バージョン] を [USB_TRANSPORT_CHARACTERISTICS_VERSION_1] に設定します。 出力 時バージョン は、USB_TRANSPORT_CHARACTERISTICS_VERSION_1以下のバージョンにリセットされます。構造体の残りのメンバーにはトランスポート情報が格納されます。

入力/出力バッファーの長さ

USB_TRANSPORT_CHARACTERISTICS構造体のサイズ。

ステータス ブロック

Irp->要求が成功した場合、IoStatus.Status はSTATUS_SUCCESSに設定されます。 それ以外の場合は、NTSTATUS コードとして適切なエラー条件に対する状態

注釈

この要求は、ストリーミング用のアルゴリズムを決定するトランスポート特性を取得します。 たとえば、ディスプレイ ドライバーは、待機時間と帯域幅の情報を使用してそのコーデックの選択を決定できます。

この情報は、常に使用できるわけではありません。 USB ドライバー スタックは、これらの値を公開する基になるトランスポートに依存します。 そのため、クライアント ドライバーには、要求が発生した場合に備えたバックアップ メカニズムが必要です。

クライアント ドライバーが常に最新の情報を把握することに関心がある場合、ドライバーは、トランスポート特性が変更されたときに通知に登録し、USB ドライバー スタックで保留中の要求を保持し、通知が不要になったときに登録を解除する必要があります。 ドライバーは、これらの IOCTL 要求を送信することで、これらのすべてのタスクを実行できます。

要件

要件
サポートされている最小のクライアント Windows 10 バージョン 1709
サポートされている最小のサーバー Windows Server 2016
Header usbioctl.h
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

ドライバー内での IOCTL 要求の作成

Media-Agnostic (MA-USB) 用 USB クライアント ドライバー

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously