값 기능 배열

값 기능 배열에는 특정 유형의 HID 보고서에 대해 최상위 컬렉션에서 지원하는 값 사용량에 대한 정보가 포함됩니다. 컬렉션의 값 기능 배열에 대한 정보는 HIDP_CAPS 구조에 포함되어 있습니다.

사용자 모드 애플리케이션 또는 커널 모드 드라이버는 다음 HIDClass 지원 루틴 중 하나를 사용하여 단추 기능 정보를 가져옵니다.

  • HidP_GetValueCaps 호출자가 지정한 보고서 형식에 포함된 모든 값을 설명하는 값 기능 배열을 반환합니다.

  • HidP_GetSpecificValueCaps 호출자가 지정한 사용 페이지, 사용량, 링크 컬렉션 및 보고서 유형에서 반환하는 값 기능 정보를 필터링합니다.

값 기능 배열에는 각각 HID 사용량 또는 사용 범위에 대한 다음 정보를 설명하는 HIDP_VALUE_CAPS 구조가 포함됩니다.

  • 사용량 또는 사용 범위의 사용 페이지

  • 값이 포함된 보고서의 보고서 ID입니다.

  • 사용 ID 또는 사용 범위

  • 사용법이 별칭이 지정된 사용법인지 여부를 나타냅니다.

  • 사용량 또는 사용 범위를 포함하는 링크 컬렉션 에 대한 정보

  • 값의 크기(비트) 및 보고서 수(구조체에서 설명하는 개별 값의 수)입니다.

  • null 값, 해당 단위 및 지수, 논리 및 물리적 범위를 포함하는 각 값의 특성

  • 사용량 또는 사용 범위와 연결된 문자열 설명자 및 지정자에 대한 정보

  • HID 파서가 사용량 또는 사용량 범위를 할당하는 데이터 인덱 스에 대한 정보

일반적으로 값 기능 배열에 설명된 모든 사용량에 대해 다음 조건이 유지됩니다.

  • 각 기능 구조는 변수 기본 항목과 연결된 사용량, 사용 범위 또는 사용량 값 배열을 나타냅니다. 배열 기본 항목은 값에 대해 지원되지 않습니다.

  • 별칭이 지정된 사용량을 사용할 수 있습니다. 사용 범위는 별칭을 지정할 수 없습니다. 별칭이 지정된 값은 단추 기능 배열에서 함께 연결된 별칭이 지정된 단추와 동일한 방식으로 값 기능 배열에 함께 연결됩니다. 변수 주 항목의 단추 사용을 참조하세요.

  • HID 파서는 필요한 최소 사용량만 사용하여 각 값에 사용량을 할당합니다. 파서는 보고서 설명자에 지정된 순서대로 사용량을 할당합니다. 필요하지 않은 보고서 설명자의 사용은 삭제됩니다. 값 기능 배열에는 삭제된 사용량에 대한 정보가 포함되어 있지 않습니다.

  • HID 파서는 기능 배열에 설명된 각 사용량에 고유한 데이터 인덱 스를 할당합니다.

데이터 인덱스가 값에 할당되는 방법에 대한 설명은 데이터 인덱스를 참조하세요.

사용량 값 배열

사용량 값 배열은 기본 항목에 지정된 연속된 값 집합이며 모두 동일한 사용량이 할당됩니다. 이 문제는 보고서 수가 1보다 큰 기본 항목에 대해 하나의 사용량만 지정한 경우에 발생합니다.

다음 그림에서는 각각 6비트 길이의 5개의 데이터 항목을 포함하는 사용량 값 배열의 예를 보여 줍니다.

각각 6비트 길이의 5개의 데이터 항목을 포함하는 사용량 값 배열을 보여 주는 다이어그램

이전 예제에서 이러한 사용량 값 배열의 값 기능 구조에는 IsRange 멤버가 FALSE로 설정되고 NotRange.Usage 멤버가 17로 설정되고 ReportCount 멤버가 5로 설정되고 BitSize 멤버가 6으로 설정됩니다.

사용량에 대한 보고서 수가 1인 경우 HidP_GetUsageValue 사용하여 사용량 값을 추출합니다. 사용량의 보고서 수가 1보다 큰 경우 HidP_GetUsageValue 사용량 값 배열의 첫 번째 데이터 항목만 반환합니다. 사용량 값 배열의 모든 데이터 항목을 추출하려면 HidP_GetUsageValueArray 사용합니다.