USB_BUS_INTERFACE_USBDI_V0 구조체(usbbusif.h)
USB_BUS_INTERFACE_USBDI_V0 구조는 USB 허브 드라이버가 USB 클라이언트가 IRP를 할당하지 않고 허브 드라이버에 직접 호출할 수 있도록 합니다.
구문
typedef struct _USB_BUS_INTERFACE_USBDI_V0 {
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;
} USB_BUS_INTERFACE_USBDI_V0, *PUSB_BUS_INTERFACE_USBDI_V0;
멤버
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을 참조하세요.
설명
이러한 인터페이스를 쿼리하는 방법에 대한 자세한 내용은 USB 인터페이스 쿼리를 참조하세요. 이 구조의 루틴 호출자는 IRQL <= DISPATCH_LEVEL 실행할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | usbbusif.h(Usbbusif.h 포함) |