USBD_ValidateConfigurationDescriptor 함수(usbdlib.h)

USBD_ValidateConfigurationDescriptor 루틴은 구성 설명자 요청에 대한 응답으로 디바이스에서 반환된 모든 설명자의 유효성을 검사합니다.

구문

USBD_STATUS USBD_ValidateConfigurationDescriptor(
  [in]           PUSB_CONFIGURATION_DESCRIPTOR ConfigDesc,
  [in]           ULONG                         BufferLength,
  [in]           USHORT                        Level,
  [out]          PUCHAR                        *Offset,
  [in, optional] ULONG                         Tag
);

매개 변수

[in] ConfigDesc

USB 디바이스에서 검색된 모든 인터페이스, 엔드포인트, 공급업체 및 클래스별 설명자를 포함하는 구성 설명자에 대한 포인터입니다.

[in] BufferLength

유효성을 검사할 구성 설명자의 크기(바이트)입니다.

[in] Level

수행할 유효성 검사 수준입니다. 다음은 유효한 값입니다.

  • 1-구성 설명자 헤더의 기본 유효성 검사입니다.
  • 2- 잘못된 엔드포인트 주소, 인터페이스 번호, 설명자 구조, 인터페이스 대체 설정, 인터페이스 수 및 모든 설명자의 bLength 필드 확인을 포함하여 구성 설명자의 전체 유효성 검사입니다.
  • 3- 수준 1 및 2에 대한 유효성 검사 외에도 수준 3은 각 인터페이스의 엔드포인트 수를 유효성 검사하고, USB 사양의 설명자 bLength 크기를 적용하고, 모든 인터페이스 번호가 순차적으로 표시되는지 확인합니다.

[out] Offset

유효성 검사에 실패한 구성 설명자 내의 오프셋입니다. USBD_STATUS_SUCCESS 이외의 상태 반환되는 경우에만 유효합니다.

[in, optional] Tag

메모리를 할당할 때 USBD_ValidateConfigurationDescriptor 사용하는 풀 태그입니다.

반환 값

유효성 검사에 실패한 경우 USBD_STATUS_SUCCESS 또는 적절한 USBD 오류 코드입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista 이상 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 usbdlib.h(Usbdlib.h 포함)
라이브러리 Usbd.lib
IRQL PASSIVE_LEVEL

추가 정보

USB 디바이스 드라이버 프로그래밍 참조