다음을 통해 공유


_URB_OS_FEATURE_DESCRIPTOR_REQUEST 구조체(usb.h)

_URB_OS_FEATURE_DESCRIPTOR_REQUEST 구조는 USB 허브 드라이버가 USB 디바이스 또는 USB 디바이스의 인터페이스에서 Microsoft OS 기능 설명자를 검색하는 데 사용됩니다.

구문

struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
  struct _URB_HEADER   Hdr;
  PVOID                Reserved;
  ULONG                Reserved0;
  ULONG                TransferBufferLength;
  PVOID                TransferBuffer;
  PMDL                 TransferBufferMDL;
  struct _URB          *UrbLink;
  struct _URB_HCD_AREA hca;
  UCHAR                Recipient : 5;
  UCHAR                Reserved1 : 3;
  UCHAR                Reserved2;
  UCHAR                InterfaceNumber;
  UCHAR                MS_PageIndex;
  USHORT               MS_FeatureDescriptorIndex;
  USHORT               Reserved3;
};

멤버

Hdr

URB 헤더 정보를 지정하는 _URB_HEADER 구조체에 대한 포인터입니다. Hdr.Function 은 URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR 합니다. Hdr.Length는 이어야 sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST)합니다.

Reserved

Reserved0

TransferBufferLength

TransferBuffer에 지정되거나 TransferBufferMDL 설명된 버퍼의 길이(바이트)를 지정합니다. 호스트 컨트롤러 드라이버는 이 멤버에서 읽은 바이트 수를 반환합니다. 이 함수의 현재 구현은 최대 MS OS 기능 설명자 크기를 4K바이트로 제한합니다.

TransferBuffer

전송에 대한 상주 버퍼에 대한 포인터이거나 TransferBufferMDL에 MDL이 제공된 경우 NULL입니다.

TransferBufferMDL

상주 버퍼를 설명하는 MDL에 대한 포인터이거나 TransferBuffer에 버퍼가 제공된 경우 NULL입니다. 이 MDL은 페이지가 없는 풀에서 할당해야 합니다.

UrbLink

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

hca

Recipient

받는 사람이 USB 디바이스인지 아니면 USB 디바이스의 인터페이스인지를 지정합니다. 다음 값 중 하나를 지정해야 합니다.

  • 0은 USB 디바이스가 요청의 수신자임을 나타냅니다.
  • 1은 USB 인터페이스가 요청의 수신자임을 나타냅니다.
  • 2는 USB 엔드포인트가 요청의 수신자임을 나타냅니다.

Reserved1

Reserved2

InterfaceNumber

받는 사람 멤버 값이 1인 경우 요청의 받는 사람 인 인터페이스 번호를 나타냅니다. USB 디바이스가 수신자인 경우 0으로 설정해야 합니다.

MS_PageIndex

0으로 설정해야 합니다. 반환할 MS OS 기능 설명자의 64K 페이지의 페이지 인덱스입니다. 현재 구현은 최대 설명자 크기 4K만 지원합니다.

MS_FeatureDescriptorIndex

요청할 MS OS 기능 설명자에 대한 인덱스입니다.

Reserved3

설명

이 구조체의 예약된 멤버는 불투명으로 처리되어야 하며 시스템 사용을 위해 예약되어 있어야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP 이상 운영 체제에서 사용할 수 있습니다.
머리글 usb.h(Usb.h 포함)

추가 정보

Urb

_URB_HEADER