The HidD_GetIndexedString routine returns a specified embedded string from a top-level collection.
BOOLEAN __stdcall HidD_GetIndexedString( _In_ HANDLE HidDeviceObject, _In_ ULONG StringIndex, _Out_ PVOID Buffer, _In_ ULONG BufferLength );
- HidDeviceObject [in]
Specifies an open handle to a top-level collection.
- StringIndex [in]
Specifies the device-specific index of an embedded string.
- Buffer [out]
Pointer to a caller-allocated buffer that the routine uses to return the embedded string specified by StringIndex. The routine returns a NULL-terminated wide character string in a human-readable format.
- BufferLength [in]
Specifies the length, in bytes, of a caller-allocated buffer provided at Buffer. If the buffer is not large enough to return the entire NULL-terminated embedded string, the routine returns nothing in the buffer.
HidD_GetIndexedString returns TRUE if it successfully returns the entire NULL-terminated embedded string. Otherwise, the routine returns FALSE.
Only user-mode applications can call HidD_GetIndexedString. Kernel-mode drivers can use an IOCTL_HID_GET_INDEXED_STRING request.
The maximum possible number of characters in an embedded string is device specific. For USB devices, the maximum string length is 126 wide characters (not including the terminating NULL character).
If the iInterface member of the USB_INTERFACE_DESCRIPTOR structure for the interface is nonzero, the iProduct member of the USB_DEVICE_DESCRIPTOR structure for the interface is set to the iInterface member of the USB_INTERFACE_DESCRIPTOR structure.
If the interface is grouped by a USB interface association descriptor, and the iFunction member of the interface association descriptor for the interface is nonzero, the iProduct member of the USB_DEVICE_DESCRIPTOR structure for the interface is set to the iFunction member of the interface association descriptor.
For more information, see HID Collections.
|Available in Windows 2000 and later versions of Windows.|