// usb.h
struct _URB_CONTROL_GET_INTERFACE_REQUEST {
struct _URB_HEADER Hdr;
PVOID Reserved;
ULONG Reserved0;
ULONG TransferBufferLength;
PVOID TransferBuffer;
PMDL TransferBufferMDL;
struct _URB *UrbLink;
struct _URB_HCD_AREA hca;
UCHAR Reserved1[4];
USHORT Interface;
USHORT Reserved2;
};
View the official Windows Driver Kit DDI referenceNo description available.
The _URB_CONTROL_GET_INTERFACE_REQUEST structure is used by USB client drivers to retrieve the current alternate interface setting for an interface in the current configuration.
HdrPointer to a _URB_HEADER structure that specifies the URB header information. Hdr.Function must be URB_FUNCTION_GET_INTERFACE, and Hdr.Length must equal sizeof(_URB_CONTROL_GET_INTERFACE_REQUEST).
ReservedReserved. Do not use.
Reserved0Reserved. Do not use.
TransferBufferLengthMust be 1. This member specifies the length, in bytes, of the buffer specified in TransferBuffer or described in TransferBufferMDL. The host controller driver returns the number of bytes sent to or read from the pipe in this member.
TransferBufferPointer to a resident buffer for the transfer or is NULL if an MDL is supplied in TransferBufferMDL. The bus driver returns a single byte specifying the index of the current alternate setting for the interface.
TransferBufferMDLPointer to an MDL that describes a resident buffer or is NULL if a buffer is supplied in TransferBuffer. The bus driver returns a single byte specifying the index of the current alternate setting for the interface. This MDL must be allocated from nonpaged pool.
UrbLinkReserved. Do not use.
hcaReserved. Do not use.
Reserved1Reserved. Do not use.
InterfaceSpecifies the device-defined index of the interface descriptor being retrieved.
Reserved2Reserved. Do not use.
The reserved members of this structure must be treated as opaque and are reserved for system use.