次の方法で共有


USB_BUS_INTERFACE_USBDI_V1構造体 (usbbusif.h)

USB_BUS_INTERFACE_USBDI_V1構造は、USB クライアントが IRP を割り当てずにハブ ドライバーに直接呼び出せるように、USB ハブ ドライバーによって提供されます。

構文

typedef struct _USB_BUS_INTERFACE_USBDI_V1 {
  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;
} USB_BUS_INTERFACE_USBDI_V1, *PUSB_BUS_INTERFACE_USBDI_V1;

メンバー

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」を参照してください。

注釈

IsDeviceHighSpeed メンバーは、デバイスが高速操作が可能かどうかを示すのではなく、実際に高速で動作しているかどうかを示します。

この構造体のルーチンは、IRQL >= DISPATCH_LEVELで呼び出し可能である必要があります。

要件

要件
サポートされている最小のクライアント Microsoft Windows XP 以降のオペレーティング システムで使用できます。
Header usbbusif.h (Usbbusif.h を含む)

こちらもご覧ください

USB クライアント ドライバーのバス ドライバー インターフェイス ルーチン

USB 構造体