다음을 통해 공유


WinUsb_GetDescriptor 함수(winusb.h)

WinUsb_GetDescriptor 함수는 요청된 설명자를 반환합니다. 동기 작업입니다.

구문

BOOL WinUsb_GetDescriptor(
  [in]  WINUSB_INTERFACE_HANDLE InterfaceHandle,
  [in]  UCHAR                   DescriptorType,
  [in]  UCHAR                   Index,
  [in]  USHORT                  LanguageID,
  [out] PUCHAR                  Buffer,
  [in]  ULONG                   BufferLength,
  [out] PULONG                  LengthTransferred
);

매개 변수

[in] InterfaceHandle

선택한 구성의 인터페이스에 대한 불투명 핸들입니다.

디바이스 또는 구성 설명자를 검색하려면 WinUsb_Initialize 반환된 핸들을 사용합니다.

첫 번째 인터페이스의 인터페이스 설명자를 검색하려면 WinUsb_Initialize 반환된 핸들을 사용합니다.

첫 번째 인터페이스에서 엔드포인트의 엔드포인트 설명자를 검색하려면 WinUsb_Initialize 반환된 핸들을 사용합니다.

다른 모든 인터페이스 및 관련 엔드포인트의 설명자를 검색하려면 WinUsb_GetAssociatedInterface 검색한 대상 인터페이스에 대한 핸들을 사용합니다.

[in] DescriptorType

반환할 설명자의 형식을 지정하는 값입니다. 이 매개 변수는 표준 디바이스 설명자의 bDescriptorType 필드에 해당하며, 해당 값은 유니버설 직렬 버스 사양에 설명되어 있습니다. 이러한 값 중 일부는 _URB_CONTROL_DESCRIPTOR_REQUEST 구조체의 DescriptorType 멤버에 대한 설명에 나열됩니다.

[in] Index

설명자 인덱스입니다. 설명자 인덱스의 설명은 유니버설 직렬 버스 사양(www.usb.org)을 참조하세요.

[in] LanguageID

요청된 설명자가 문자열 설명자인 경우 언어 식별자를 지정하는 값입니다.

[out] Buffer

요청된 설명자를 수신하는 호출자가 할당한 버퍼입니다.

[in] BufferLength

버퍼의 길이(바이트)입니다.

[out] LengthTransferred

Buffer에 복사된 바이트 수입니다.

반환 값

WinUsb_GetDescriptor 작업이 성공하면 TRUE 를 반환합니다. 그렇지 않으면 이 루틴은 FALSE를 반환하고 호출자는 GetLastError를 호출하여 기록된 오류를 검색할 수 있습니다.

GetLastError 는 다음 오류 코드를 반환할 수 있습니다.

반환 코드 설명
ERROR_INVALID_HANDLE
호출자가 InterfaceHandle 매개 변수에서 NULL을 전달했습니다.

설명

Buffer 매개 변수가 가리키는 출력 버퍼가 충분히 크면 WinUsb_GetDescriptor 지정된 설명자의 복사본을 출력 버퍼에 만듭니다. 버퍼가 설명자 데이터를 보유할 만큼 크지 않으면 데이터가 복사되지 않습니다. 설명자는 WinUsb_Initialize 호출 중에 생성되거나 디바이스에서 이 시점에서 검색될 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 winusb.h(Winusb.h 포함)
라이브러리 Winusb.lib
DLL Winusb.dll

추가 정보

WinUSB

WinUSB 함수

WinUsb_Initialize

_URB_CONTROL_DESCRIPTOR_REQUEST