USB_BUS_INTERFACE_USBDI_V2 構造体 (usbbusif.h)
USB_BUS_INTERFACE_USBDI_V2構造は、USB クライアントが IRP を割り当てずにハブ ドライバーに直接呼び出せるように、USB ハブ ドライバーによって提供されます。
構文
typedef struct _USB_BUS_INTERFACE_USBDI_V2 {
USHORT Size;
USHORT Version;
PVOID BusContext;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
PUSB_BUSIFFN_GETUSBDI_VERSION GetUSBDIVersion;
PUSB_BUSIFFN_QUERY_BUS_TIME QueryBusTime;
PUSB_BUSIFFN_SUBMIT_ISO_OUT_URB SubmitIsoOutUrb;
PUSB_BUSIFFN_QUERY_BUS_INFORMATION QueryBusInformation;
PUSB_BUSIFFN_IS_DEVICE_HIGH_SPEED IsDeviceHighSpeed;
PUSB_BUSIFFN_ENUM_LOG_ENTRY EnumLogEntry;
} USB_BUS_INTERFACE_USBDI_V2, *PUSB_BUS_INTERFACE_USBDI_V2;
メンバー
Size
インターフェイス ポインターを保持するバッファーのサイズをバイト単位で指定します。
Version
入力時にインターフェイスのバージョンを示します。 このメンバーが受け取ることができる値は次のとおりです。
値 | 意味 |
---|---|
USB_BUSIF_USBDI_VERSION_0 | インターフェイスのバージョン 0。 |
USB_BUSIF_USBDI_VERSION_1 | インターフェイスのバージョン 1。 |
USB_BUSIF_USBDI_VERSION_2 | インターフェイスのバージョン 2。 |
USB_BUSIF_USBDI_VERSION_3 | インターフェイスのバージョン 3。 |
BusContext
USB バスと、このインターフェイスを公開する USB バス ドライバーについて説明する情報が含まれています。 これは、呼び出し元がインターフェイス ルーチンに渡す必要がある不透明なエンティティです。
InterfaceReference
このインターフェイスへの参照の数をインクリメントするルーチンへのポインター。 このルーチンの詳細については、「 InterfaceReference」を参照してください。
InterfaceDereference
このインターフェイスへの参照の数をデクリメントするルーチンへのポインター。 このルーチンの詳細については、「 InterfaceDereference」を参照してください。
GetUSBDIVersion
USB インターフェイスのバージョン番号、インターフェイスを定義する USB 仕様のバージョン番号、およびホスト コントローラーの機能情報を返すルーチンへのポインター。 このルーチンは、ポート ドライバーでサポートされている最高の USBDI インターフェイス バージョンを返します。 このルーチンの詳細については、「 GetUSBDIVersion」を参照してください。
QueryBusTime
現在の 32 ビット USB フレーム番号を返すルーチンへのポインター。 このルーチンは、usbd.sys によって提供 されるUSBD_QueryBusTime 関数を置き換えます。 このルーチンの詳細については、「 QueryBusTime」を参照してください。
SubmitIsoOutUrb
予約済み。 使用しないでください。
QueryBusInformation
バスに関する情報を取得するルーチンへのポインター。 返される情報は、 Level メンバーの値によって異なります。 Level が 0 の場合、このルーチンはバス帯域幅情報を返します。 Level が 1 の場合、バス帯域幅情報とホスト コントローラーのシンボリック名が返されます。 このルーチンは、usbd.sys によって提供される USBD_QueryBusInformation 関数を置き換えます。 このルーチンの詳細については、「 QueryBusInformation」を参照してください。
IsDeviceHighSpeed
USB デバイスが高速で動作しているかどうかを判断するルーチンへのポインター。 USB デバイスが高速 USB 2.0 準拠デバイスで動作している場合、このルーチンは TRUE を 返します。 それ以外の場合は FALSE を 返します。 このルーチンの詳細については、「 IsDeviceHighSpeed」を参照してください。
EnumLogEntry
予約済み。 使用しないでください。
注釈
IsDeviceHighSpeed ルーチンは、デバイスが高速操作が可能かどうかではなく、実際には高速で動作しているかどうかを示します。
この構造体のルーチンは、IRQL >= DISPATCH_LEVELで呼び出し可能である必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Microsoft Windows XP 以降のオペレーティング システムで使用できます。 |
Header | usbbusif.h (Usbbusif.h を含む) |