QueryControllerType routine
The QueryControllerType routine gets information about the USB host controller to which the USB device is attached.
Syntax
NTSTATUS QueryControllerType( __in PVOID BusContext, __out PULONG HcdiOptionFlags, __out PUSHORT PciVendorId, __out PUSHORT PciDeviceId, __out PUCHAR PciClass, __out PUCHAR PciSubClass, __out PUCHAR PciRevisionId, __out PUCHAR PciProgIf );
Parameters
- BusContext [in]
-
Handle returned in the BusContext member of the USB_BUS_INTERFACE_USBDI_V3 structure by an IRP_MN_QUERY_INTERFACE request.
- HcdiOptionFlags [out]
-
Reserved. Do not use.
- PciVendorId [out]
-
Pointer to a USHORT variable that receives the PCI vendor ID for the USB host controller.
- PciDeviceId [out]
-
Pointer to a USHORT variable that receives the PCI device ID for the USB host controller.
- PciClass [out]
-
Pointer to a UCHAR variable that receives the PCI class for the USB host controller.
- PciSubClass [out]
-
Pointer to a UCHAR variable that receives the PCI subclass for the USB host controller.
- PciRevisionId [out]
-
Pointer to a UCHAR variable that receives the PCI revision number for the USB host controller.
- PciProgIf [out]
-
Pointer to a UCHAR variable that receives the PCI programming interface for the USB host controller.
Return value
Returns STATUS_SUCCESS on success, and the appropriate error code on failure.
Remarks
PciClass is typically set to PCI_CLASS_SERIAL_BUS_CTLR (0x0C).
PciSubClass is typically set to PCI_SUBCLASS_SB_USB (0x03).
PciProgif is typically set to one of the following values:
0x00 - Universal Host Controller Interface (UHCI)
0x10 - Open Host Controller Interface (OHCI)
0x20 - Enhanced Host Controller Interface (EHCI)
The function definition that is provided on this reference page is an example function whose parameters are just placeholder names. The actual prototype of the function is declared in usbbusif.h as follows:
typedef NTSTATUS
(USB_BUSIFFN *PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE) (
IN PVOID,
OUT PULONG,
OUT PUSHORT,
OUT PUSHORT,
OUT PUCHAR,
OUT PUCHAR,
OUT PUCHAR,
OUT PUCHAR
Requirements
|
Header |
|
|---|---|
|
IRQL | < = DISPATCH_LEVEL |
See also
Send comments about this topic to Microsoft
Build date: 4/4/2012