다음을 통해 공유


HidP_GetCollectionDescription 함수(hidpddi.h)

지정된 보고서 설명자에 대한 컬렉션 설명 및 해당 보고서 ID 정보로 디바이스 설명 블록을 채웁니다. HID 미니 드라이버는 일반적으로 이 함수를 호출할 필요가 없습니다. 대신 IOCTL_HID_GET_REPORT_DESCRIPTOR대한 응답으로 보고서 설명자를 Hidclass 드라이버에 반환합니다.

통사론

NTSTATUS HidP_GetCollectionDescription(
  [in]  PHIDP_REPORT_DESCRIPTOR ReportDesc,
  [in]  ULONG                   DescLength,
  [in]  POOL_TYPE               PoolType,
  [out] PHIDP_DEVICE_DESC       DeviceDescription
);

매개 변수

[in] ReportDesc

원시 보고서 설명자를 포함하는 UCHAR 배열에 대한 포인터입니다.

[in] DescLength

보고서 설명자 배열의 길이입니다.

[in] PoolType

연결된 목록에 대한 메모리가 할당되는 풀 유형을 나타내는 POOL_TYPE-value입니다. 여기에는 HIDP_DEVICE_DESCHIDP_COLLECTION_DESC 배열 요소, 각 HIDP_COLLECTION_DESCHIDP_PREPARSED_DATA, HIDP_DEVICE_DESCHIDP_REPORT_IDS 배열 요소가 포함됩니다.

[out] DeviceDescription

연결된 목록으로 컬렉션 설명자로 채워진 디바이스 설명 블록으로 채워진 HIDP_DEVICE_DESC 구조체에 대한 포인터입니다. 호출자가 할당한 구조체입니다. 그러나 HIDP_COLLECTION_DESC 배열 요소 및 HIDP_REPORT_IDS 배열 요소는 이 함수에 의해 할당됩니다.

반환 값

HidP_GetCollectionDescription 디바이스 설명 블록을 성공적으로 채우는 경우 true 값 중 하나를 반환할 수 있습니다. 그렇지 않으면 false 반환됩니다.

반환 값 묘사
STATUS_SUCCESS
보고서 설명자를 구문 분석하고 디바이스를 설명하는 데 필요한 메모리 블록을 할당했습니다.
STATUS_NO_DATA_DETECTED
보고서 설명자에서 최상위 컬렉션을 찾지 못했습니다.
STATUS_COULD_NOT_INTERPRET
보고서 설명자에서 오류가 발견되었습니다. HIDP_DEVICE_DESC 구조체의 Dbg 필드에서 오류 코드를 참조하세요.
STATUS_BUFFER_TOO_SMALL
더 많은 데이터가 필요한 경우 보고서 설명자의 끝을 찾았습니다.
STATUS_INSUFFICIENT_RESOURCES
메모리를 할당하지 못했습니다.
STATUS_ILLEGAL_INSTRUCTION
보고서 설명자의 항목을 구문 분석하지 못했습니다.
HIDP_STATUS_INVALID_REPORT_TYPE
설명자에서 0의 보고서 ID를 찾았습니다.

발언

ReportDesc 매개 변수로 지정된 원시 보고서 설명자의 경우 HidP_GetCollectionDescriptionDeviceDescription 블록을 호출자가 할당한 컬렉션 설명자의 연결된 목록과 지정된 보고서 설명자가 설명하는 해당 보고서 ID 정보로 채웁니다. 컬렉션 정보 및 ReportID 정보에 대한 메모리는 PoolType 값에 따라 할당됩니다.

요구 사항

요구
지원되는 최소 클라이언트 Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다.
대상 플랫폼 보편적
헤더 hidpddi.h(Hidpddi.h 포함)
라이브러리 Hidparse.lib
IRQL <= DISPATCH_LEVEL