_URB_CONTROL_GET_INTERFACE_REQUEST structure

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.

Syntax

struct _URB_CONTROL_GET_INTERFACE_REQUEST {
  _URB_HEADER   Hdr;
  struct        _URB_HEADER;
  PVOID         Reserved;
  ULONG         Reserved0;
  ULONG         TransferBufferLength;
  PVOID         TransferBuffer;
  PMDL          TransferBufferMDL;
  _URB          *UrbLink;
  struct        _URB;
  _URB_HCD_AREA hca;
  struct        _URB_HCD_AREA;
  UCHAR         Reserved1[4];
  USHORT        Interface;
  USHORT        Reserved2;
};

Members

Hdr

Pointer 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).

Reserved

Reserved. Do not use.

Reserved0

Reserved. Do not use.

TransferBufferLength

Must 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.

TransferBuffer

Pointer 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.

TransferBufferMDL

Pointer 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.

UrbLink

Reserved. Do not use.

hca

Reserved. Do not use.

Reserved1

Reserved. Do not use.

Interface

Specifies the device-defined index of the interface descriptor being retrieved.

Reserved2

Reserved. Do not use.

Remarks

The reserved members of this structure must be treated as opaque and are reserved for system use.

Requirements

   
Header usb.h (include Usb.h)

See Also

URB

USB Structures

_URB_HEADER