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 |