_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.Lengthsizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST)
합니다.
Reserved
Reserved0
TransferBufferLength
TransferBuffer 지정되거나 TransferBufferMDL설명된 버퍼의 길이(바이트)를 지정합니다. 호스트 컨트롤러 드라이버는 이 멤버에서 읽은 바이트 수를 반환합니다. 이 함수의 현재 구현은 최대 MS OS 기능 설명자 크기를 4KB로 제한합니다.
TransferBuffer
전송에 대한 상주 버퍼에 대한 포인터이거나 TransferBufferMDLMDL이 제공된 경우 NULL .
TransferBufferMDL
TransferBuffer제공된 경우 상주 버퍼를 설명하거나 NULL MDL에 대한 포인터입니다. 이 MDL은 페이지가 없는 풀에서 할당해야 합니다.
UrbLink
예약. 사용하지 마세요.
hca
Recipient
받는 사람이 USB 디바이스인지 아니면 USB 디바이스의 인터페이스인지를 지정합니다. 다음 값 중 하나를 지정해야 합니다.
- 0은 USB 디바이스가 요청의 수신자임을 나타냅니다.
- 1은 USB 인터페이스가 요청의 수신자임을 나타냅니다.
- 2는 USB 엔드포인트가 요청의 수신자임을 나타냅니다.
Reserved1
Reserved2
InterfaceNumber
Recipient 멤버 값이 1인 경우 요청의 수신자인 인터페이스 번호를 나타냅니다. USB 디바이스가 받는 사람인 경우 0으로 설정해야 합니다.
MS_PageIndex
0으로 설정해야 합니다. 반환할 MS OS 기능 설명자의 64K 페이지의 페이지 인덱스입니다. 현재 구현은 최대 설명자 크기 4K만 지원합니다.
MS_FeatureDescriptorIndex
요청할 MS OS 기능 설명자에 대한 인덱스입니다.
Reserved3
발언
이 구조체의 예약 멤버는 불투명한 것으로 처리되어야 하며 시스템 사용을 위해 예약되어 있어야 합니다.
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP 이상 운영 체제에서 사용할 수 있습니다. |
헤더 | usb.h(Usb.h 포함) |