_URB_CONTROL_GET_INTERFACE_REQUEST structure (usb.h)

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 {
  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;
};

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[4]

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

Requirement Value
Header usb.h (include Usb.h)

See also

URB

USB Structures

_URB_HEADER