DMDLL_USBGetStringDescriptor
해당하는 USB장치에 대한 스트링 디스크립터(String Descriptor)를 구한다
Description
int DMDLL_USBGetStringDescriptor(
IN DMHANDLE MasterHandle,
IN UCHAR Index,
IN USHORT LanguageId,
IN int Length,
OUT PUSB_STRING_DESCRIPTOR *ppDesciptor
)
Parameters
MasterHandle
작업중이던 디바이스 핸들, DMDLL_OpenDeviceForInterfaceDeviceStack( PipeNumber = -1 )함수를 통해서 얻은 핸들(Master)이어야 한다
Index
String Descriptor의 인덱스를 명시한다. 보통은 0 값을 사용한다
LanguageId
String Descriptor의 Language ID를 명시한다
Length
구하고자 하는 디스크립터의 길이(바이트)
ppDescriptor
DMCORE가 제공하는 메모리의 주소가 담겨진다.
개발자는 이후에 더이상 이 메모리가 사용될 필요가 없을때는 반드시 해당하는 메모리를 해제해야 한다(DMDLL_USBReleaseResources)
Return Values
return int
작업이 성공할 경우 DMSTAT_SUCCESS 리턴
Changelog
Examples
int nRet = 0;
UCHAR Length = 0;
PUSB_STRING_DESCRIPTOR pStringDescriptor = 0;
nRet = DMDLL_USBGetStringDescriptor(
MasterHandle,
1, // Example Index
0x0409, // English, US
sizeof(USB_STRING_DESCRIPTOR),
&pStringDescriptor );
if( nRet == DMSTAT_SUCCESS )
{
Length = pStringDescriptor->bLength;
DMDLL_USBReleaseResources( pStringDescriptor);
nRet = DMDLL_USBGetStringDescriptor(
MasterHandle,
1, // Example Index
0x0409, // English, US
Length,
&pStringDescriptor);
}