DMDLL_USBGetDescriptor_LL

해당하는 USB장치에 대한 다양한 디스크립터정보를 구한다 ppDescriptor 파라미터의 값은 DMCORE가 제공하는 메모리의 주소가 담겨진다.


Description

int DMDLL_USBGetDescriptor_LL( 
    IN DMHANDLE MasterHandle,
    IN UCHAR    DescriptorType,
    IN UCHAR    Index,
    IN USHORT   LanguageId,
    IN int      Length,
    OUT PUSB_COMMON_DESCRIPTOR *ppDesciptor
)

Parameters

MasterHandle
    작업중이던 디바이스 핸들, DMDLL_OpenDeviceForInterfaceDeviceStack( PipeNumber = -1 )함수를 통해서 얻은 핸들(Master)이어야 한다
DescriptorType
    USB 표준스팩에서 정의한 값. 얻고자 하는 디스크립터의 유형(usb100.h)
    #define USB_DEVICE_DESCRIPTOR_TYPE                0x01
    #define USB_CONFIGURATION_DESCRIPTOR_TYPE         0x02
    #define USB_STRING_DESCRIPTOR_TYPE                0x03
    #define USB_INTERFACE_DESCRIPTOR_TYPE             0x04
    #define USB_ENDPOINT_DESCRIPTOR_TYPE              0x05
    #define USB_RESERVED_DESCRIPTOR_TYPE              0x06
    #define USB_CONFIG_POWER_DESCRIPTOR_TYPE          0x07
    #define USB_INTERFACE_POWER_DESCRIPTOR_TYPE       0x08
Index
    USB 표준스팩에서 정의한 값.
LanguageId
    USB 표준스팩에서 정의한 값. String Descriptor의 언어구분 ID.
Length
    구하고자 하는 디스크립터의 길이(바이트)
ppDescriptor
    구해진 디스크립터정보가 담겨진 메모리주소가 리턴된다(usb100.h)
    개발자는 이후에 더이상 이 메모리가 사용될 필요가 없을때는 반드시 해당하는 메모리를 해제해야 한다(DMDLL_USBReleaseResources)

Return Values

return  int
    작업이 성공할 경우 DMSTAT_SUCCESS 리턴

Changelog


Examples

int nRet = 0;
PUSB_COMMON_DESCRIPTOR pCommonDescriptor = 0;

nRet = DMDLL_USBGetDescriptor_LL(MasterHandle, USB_DEVICE_DESCRIPTOR_TYPE, 0, 0, sizeof(USB_DEVICE_DESCRIPTOR),&pCommonDescriptor);

results matching ""

    No results matching ""