USB_BUS_INTERFACE_USBDI_V2結構 (usbbusif.h)
USB_BUS_INTERFACE_USBDI_V2結構是由 USB 中樞驅動程式提供,可讓 USB 用戶端直接呼叫中樞驅動程式,而不需要配置 IRP。
語法
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 和更新版本的作業系統中使用。 |
標頭 | usbbusif.h (包含 Usbbusif.h) |