WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 구조체(wdfusb.h)

[KMDF 및 UMDF에 적용]

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 구조는 USB 디바이스 구성 매개 변수를 지정합니다.

구문

typedef struct _WDF_USB_DEVICE_SELECT_CONFIG_PARAMS {
  ULONG                              Size;
  WdfUsbTargetDeviceSelectConfigType Type;
  union {
    struct {
      PUSB_CONFIGURATION_DESCRIPTOR ConfigurationDescriptor;
      PUSB_INTERFACE_DESCRIPTOR     *InterfaceDescriptors;
      ULONG                         NumInterfaceDescriptors;
    } Descriptor;
    struct {
      PURB Urb;
    } Urb;
    struct {
      UCHAR           NumberConfiguredPipes;
      WDFUSBINTERFACE ConfiguredUsbInterface;
    } SingleInterface;
    struct {
      UCHAR                           NumberInterfaces;
      PWDF_USB_INTERFACE_SETTING_PAIR Pairs;
      UCHAR                           NumberOfConfiguredInterfaces;
    } MultiInterface;
  } Types;
} WDF_USB_DEVICE_SELECT_CONFIG_PARAMS, *PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS;

멤버

Size

이 구조체의 크기(바이트)입니다.

Type

선택 중인 구성 유형을 지정하거나 현재 구성이 구성 해제 중임을 나타내는 WdfUsbTargetDeviceSelectConfigType 형식 값입니다.

Types

Types.Descriptor

Types.Descriptor.ConfigurationDescriptor

드라이버가 Type 멤버를 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor로 설정하는 경우 이 멤버에는 구성 설명자를 지정하는 USB_CONFIGURATION_DESCRIPTOR 구조체에 대한 드라이버 제공 포인터가 포함됩니다. 이 포인터가 NULL인 경우 프레임워크는 디바이스의 첫 번째 구성을 사용합니다. USB 구성을 선택하는 방법에 대한 자세한 내용은 WdfUsbTargetDeviceSelectConfig의 설명 섹션을 참조하세요.

Types.Descriptor.InterfaceDescriptors

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor로 설정하는 경우 이 멤버는 구성에 대해 선택할 인터페이스를 나타내는 USB_INTERFACE_DESCRIPTOR 구조체 배열에 대한 드라이버 제공 포인터를 포함합니다.

Types.Descriptor.NumInterfaceDescriptors

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor로 설정하는 경우 이 멤버는 Types.Descriptor.InterfaceDescriptors 가 가리키는 인터페이스 배열에 있는 요소의 수를 포함합니다.

Types.Urb

Types.Urb.Urb

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeUrb으로 설정하는 경우 이 멤버는 프레임워크가 디바이스를 구성하는 데 사용하는 드라이버 초기화된 URB 구조를 지정합니다.

Types.SingleInterface

Types.SingleInterface.NumberConfiguredPipes

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeSingleInterface로 설정하는 경우 프레임워크는 인터페이스에 대해 구성된 파이프 수를 제공합니다.

Types.SingleInterface.ConfiguredUsbInterface

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeSingleInterface로 설정하는 경우 프레임워크는 구성된 인터페이스를 나타내는 USB 인터페이스 개체에 대한 핸들을 제공합니다.

Types.MultiInterface

Types.MultiInterface.NumberInterfaces

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeInterfacesPairs로 설정하는 경우 이 멤버는 Types.MultiInterface.Pairs 배열에 있는 요소 수를 지정합니다.

Types.MultiInterface.Pairs

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeInterfacesPairs로 설정하는 경우 이 멤버는 선택할 인터페이스를 식별하는 WDF_USB_INTERFACE_SETTING_PAIR 구조체 배열에 대한 포인터를 지정합니다.

Types.MultiInterface.NumberOfConfiguredInterfaces

드라이버가 TypeWdfUsbTargetDeviceSelectConfigTypeInterfacesPairs 또는 WdfUsbTargetDeviceSelectConfigTypeMultiInterface로 설정하는 경우 프레임워크는 디바이스에 대해 구성된 인터페이스 수를 제공합니다.

설명

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 구조체는 WdfUsbTargetDeviceSelectConfig에 대한 입력으로 사용됩니다.

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS 구조를 초기화하려면 다음 함수 중 하나를 사용합니다.

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_DECONFIG

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_SINGLE_INTERFACE

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_MULTIPLE_INTERFACES

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_INTERFACES_DESCRIPTORS

WDF_USB_DEVICE_SELECT_CONFIG_PARAMS_INIT_URB

드라이버가 Type 멤버를 WdfUsbTargetDeviceSelectConfigTypeInterfacesDescriptor로 설정하는 경우 USB 디바이스 구성을 변경할 수 있습니다. 다른 모든 값은 현재 USB 디바이스 구성을 사용합니다.

요구 사항

요구 사항
최소 KMDF 버전 1.0
최소 UMDF 버전 2.0
머리글 wdfusb.h(Wdfusb.h 포함)

추가 정보

USB_CONFIGURATION_DESCRIPTOR

USB_INTERFACE_DESCRIPTOR

WDF_USB_INTERFACE_SETTING_PAIR

WdfUsbTargetDeviceSelectConfigType