GetDescriptor method of the CIM_USBDevice class (Hyper-V management)

Returns the USBDevice descriptor as specified by the input parameters.

Syntax

uint32 GetDescriptor(
  [in]      uint8  RequestType,
  [in]      uint16 RequestValue,
  [in]      uint16 RequestIndex,
  [in, out] uint16 RequestLength,
  [out]     uint8  Buffer[]
);

Parameters

RequestType [in]

Bit-map that identifies the type of Descriptor request and the recipient. The type of request may be 'standard', 'class' or 'vendor-specific'. The recipient may be 'device', 'interface', 'endpoint' or 'other'. Refer to the USB Specification for the appropriate values for each bit.

RequestValue [in]

Contains the Descriptor Type in the high byte and the Descriptor Index (for example, index or offset into the Descriptor array) in the low byte. Refer to the USB Specification for more information.

RequestIndex [in]

Defines the 2 byte Language ID code used by the USBDevice when returning string Descriptor data. The parameter is typically 0 for non-string Descriptors. Refer to the USB Specification for more information.

RequestLength [in, out]

On input, contains the length (in octets) of the Descriptor that should be returned. If this value is less than the actual length of the Descriptor, only the requested length will be returned. If it is more than the actual length, the actual length is returned. On output, this parameter is the length, in octets, of the Buffer being returned. If the requested Descriptor does not exist, the contents of this parameter are undefined.

Buffer [out]

Returns the requested Descriptor information. If the Descriptor does not exist, the contents of the parameter are undefined.

Return value

Returns a 0 on success; otherwise, returns an error.

Requirements

Requirement Value
Minimum supported client
Windows 8.1
Minimum supported server
Windows Server 2012 R2
Namespace
Root\virtualization\v2
MOF
WindowsVirtualization.V2.mof
DLL
Vmms.exe

See also

CIM_USBDevice