Export (0) Print
Expand All
Expand Minimize

UsbBuildGetDescriptorRequest macro

The UsbBuildGetDescriptorRequest macro formats an URB with the parameters necessary to obtain descriptor information from the host controller driver (HCD).

Syntax


void UsbBuildGetDescriptorRequest(
  [in, out]       PURB Urb,
  [in]            USHORT Length,
  [in]            UCHAR DescriptorType,
  [in]            UCHAR Index,
  [in]            USHORT LanguageId,
  [in, optional]  PVOID TransferBuffer,
  [in, optional]  PMDL TransferBufferMDL,
  [in]            ULONG TransferBufferLength,
  [in]            PURB Link
);

Parameters

Urb [in, out]

Pointer to an URB to be formatted for a get descriptor request to the HCD. The caller must allocate nonpaged pool for this URB.

Length [in]

Specifies the size, in bytes, of the URB.

DescriptorType [in]

Specifies one of the following values:

USB_DEVICE_DESCRIPTOR_TYPE

USB_CONFIGURATION_DESCRIPTOR_TYPE

USB_STRING_DESCRIPTOR_TYPE

Index [in]

Specifies the device-defined index of the descriptor that is to be retrieved.

LanguageId [in]

Specifies the language ID of the descriptor to be retrieved when USB_STRING_DESCRIPTOR_TYPE is set in DescriptorType. This parameter must be zero for any other value in DescriptorType.

TransferBuffer [in, optional]

Pointer to a resident buffer to receive the descriptor data or is NULL if an MDL is supplied in TransferBufferMDL.

TransferBufferMDL [in, optional]

Pointer to an MDL that describes a resident buffer to receive the descriptor data or is NULL if a buffer is supplied in TransferBuffer.

TransferBufferLength [in]

Specifies the length of the buffer specified in TransferBuffer or described in TransferBufferMDL.

Link [in]

Reserved. Must be set to NULL.

Return value

This macro does not return a value.

Remarks

This macro is defined in usblib.h. When USB_CONFIGURATION_DESCRIPTOR_TYPE is specified for DescriptorType, all interface, endpoint, class-specific, and vendor-specific descriptors for the configuration also are retrieved. The caller must allocate a buffer large enough to hold all of this information or the data is truncated without error.

Requirements

Header

Usbdlib.h (include Usbdlib.h)

See also

URB
USB_DEVICE_DESCRIPTOR
Routines for USB Client Drivers

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft