USB_BUS_INTERFACE_USBDI_V1 구조체(usbbusif.h)
USB 허브 드라이버에서 USB_BUS_INTERFACE_USBDI_V1 구조를 제공하여 USB 클라이언트가 IRP를 할당하지 않고 허브 드라이버에 직접 호출할 수 있도록 합니다.
구문
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 이상 운영 체제에서 사용할 수 있습니다. |
머리글 | usbbusif.h(Usbbusif.h 포함) |