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); 
}

results matching ""

    No results matching ""