_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 포함) |