USB_BUS_INTERFACE_USBDI_V3 구조체(usbbusif.h)

USB 허브 드라이버에서 USB_BUS_INTERFACE_USBDI_V3 구조를 제공하여 USB 클라이언트가 IRP를 할당하지 않고 허브 드라이버에 직접 호출할 수 있도록 합니다.

구문

typedef struct _USB_BUS_INTERFACE_USBDI_V3 {
  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;
  PUSB_BUSIFFN_QUERY_BUS_TIME_EX     QueryBusTimeEx;
  PUSB_BUSIFFN_QUERY_CONTROLLER_TYPE QueryControllerType;
} USB_BUS_INTERFACE_USBDI_V3, *PUSB_BUS_INTERFACE_USBDI_V3;

멤버

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

예약되어 있습니다. 사용하지 마십시오.

QueryBusTimeEx

이 루틴은 구현되지 않습니다.

QueryControllerType

USB 디바이스가 연결된 USB 호스트 컨트롤러에 대한 정보를 반환하는 루틴에 대한 포인터입니다. 이 루틴에 대한 자세한 내용은 QueryControllerType을 참조하세요.

설명

IsDeviceHighSpeed 루틴은 디바이스가 고속 작동이 가능한지 여부가 아니라 실제로 고속으로 작동하는지 여부를 나타냅니다.

이 구조의 루틴은 IRQL >= DISPATCH_LEVEL 호출할 수 있어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 운영 체제입니다.
머리글 usbbusif.h(Usbbusif.h 포함)

추가 정보

USB 클라이언트 드라이버에 대한 버스 드라이버 인터페이스 루틴

USB 구조체