CopyStringDescriptor
Returns a string descriptor from the device.
Declaration
virtual const IOUSBStringDescriptor * CopyStringDescriptor(uint8_t index, uint16_t languageID);Parameters
- index:
The descriptor index value. This parameter corresponds to the low byte of
wValueof theSET_DESCRIPTORcontrol request (USB 2.0, section 9.4.8). - languageID:
The descriptor language ID. This parameter corresponds to the
wIndexvalue of theSET_DESCRIPTORcontrol request (USB 2.0, section 9.4.8).
Return Value
A pointer to the descriptor, if found. It’s your responsibility to free the returned descriptor.
Discussion
This method searches the descriptor cache for the specified descriptor. If the descriptor isn’t in the cache, the method retrieves it from the device using a GET_DESCRIPTOR control request (USB 2.0, section 9.4.3) and adds it to the cache. When making a GET_DESCRIPTOR control request, this method acquires the service’s workloop lock and may call commandSleep.