// usb.h
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;
};
View the official Windows Driver Kit DDI referenceNo description available.
The _URB_OS_FEATURE_DESCRIPTOR_REQUEST structure is used by the USB hub driver to retrieve Microsoft OS Feature Descriptors from a USB device or an interface on a USB device.
HdrPointer to a _URB_HEADER structure that specifies the URB header information. Hdr.Function must URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR.
Hdr.Length must be sizeof(_URB_OS_FEATURE_DESCRIPTOR_REQUEST).
ReservedReserved0TransferBufferLengthSpecifies the length, in bytes, of the buffer specified in TransferBuffer or described in TransferBufferMDL. The host controller driver returns the number of bytes read in this member. Current implementation of this function limits the maximum MS OS Feature Descriptor size to 4 Kilobytes.
TransferBufferPointer to a resident buffer for the transfer or is NULL if an MDL is supplied in TransferBufferMDL.
TransferBufferMDLPointer to an MDL that describes a resident buffer or is NULL if a buffer is supplied in TransferBuffer. This MDL must be allocated from nonpaged pool.
UrbLinkReserved. Do not use.
hcaRecipientSpecifies whether the recipient is the USB device or an interface on the USB device. One of the following values must be specified:
Reserved1Reserved2InterfaceNumberIndicates the interface number that is the recipient of the request, if the Recipient member value is 1. Must be set to 0 if the USB device is the recipient.
MS_PageIndexMust be set to 0. Page index of the 64K page of the MS OS Feature Descriptor to be returned. Current implementation only supports a maximum descriptor size of 4K.
MS_FeatureDescriptorIndexIndex for MS OS Feature Descriptor to be requested.
Reserved3The reserved members of this structure must be treated as opaque and are reserved for system use.