HIDP_BUTTON_CAPS 구조체(hidpi.h)

HIDP_BUTTON_CAPS 구조에는 HID 컨트롤 단추 사용의 기능(또는 사용 범위와 연결된 단추 집합)에 대한 정보가 포함됩니다.

구문

typedef struct _HIDP_BUTTON_CAPS {
  USAGE   UsagePage;
  UCHAR   ReportID;
  BOOLEAN IsAlias;
  USHORT  BitField;
  USHORT  LinkCollection;
  USAGE   LinkUsage;
  USAGE   LinkUsagePage;
  BOOLEAN IsRange;
  BOOLEAN IsStringRange;
  BOOLEAN IsDesignatorRange;
  BOOLEAN IsAbsolute;
  USHORT  ReportCount;
  USHORT  Reserved2;
  ULONG   Reserved[9];
  union {
    struct {
      USAGE  UsageMin;
      USAGE  UsageMax;
      USHORT StringMin;
      USHORT StringMax;
      USHORT DesignatorMin;
      USHORT DesignatorMax;
      USHORT DataIndexMin;
      USHORT DataIndexMax;
    } Range;
    struct {
      USAGE  Usage;
      USAGE  Reserved1;
      USHORT StringIndex;
      USHORT Reserved2;
      USHORT DesignatorIndex;
      USHORT Reserved3;
      USHORT DataIndex;
      USHORT Reserved4;
    } NotRange;
  };
} HIDP_BUTTON_CAPS, *PHIDP_BUTTON_CAPS;

구성원

UsagePage

사용량 또는 사용 범위의 사용 페이지를 지정합니다.

ReportID

사용량 또는 사용 범위를 포함하는 HID 보고서의 보고서 ID를 지정합니다.

IsAlias

TRUE 이면 단추에 별칭이 지정된 사용량 집합이 있음을 나타냅니다. 그렇지 않으면 IsAliasFALSE 이면 단추에 사용법이 하나만 있습니다.

BitField

입력, 출력 또는 기능 주 항목과 연결된 데이터 필드(1~2바이트)를 포함합니다.

LinkCollection

사용량 또는 사용 범위를 포함하는 최상위 컬렉션의 링크 컬렉션 배열에 있는 링크 컬렉션의 인덱스를 지정합니다. LinkCollection 이 0이면 사용량 또는 사용 범위가 최상위 컬렉션에 포함됩니다.

LinkUsage

사용량 또는 사용 범위를 포함하는 링크 컬렉션의 사용량을 지정합니다. LinkCollection 이 0이면 LinkUsage 는 최상위 컬렉션의 사용을 지정합니다.

LinkUsagePage

사용량 또는 사용 범위를 포함하는 링크 컬렉션의 사용 페이지를 지정합니다. LinkCollection 이 0이면 LinkUsagePage 는 최상위 컬렉션의 사용 페이지를 지정합니다.

IsRange

TRUE 이면 구조에서 사용 범위를 설명합니다. 그렇지 않으면 IsRangeFALSE 이면 구조에서 단일 사용을 설명합니다.

IsStringRange

TRUE 이면 사용량 또는 사용 범위에 문자열 설명자 집합이 있음을 지정합니다. 그렇지 않으면 IsStringRangeFALSE 이면 사용량 또는 사용 범위의 문자열 설명자가 0개 또는 1개입니다.

IsDesignatorRange

TRUE 이면 사용량 또는 사용 범위에 지정자 집합이 있음을 지정합니다. 그렇지 않으면 IsDesignatorRangeFALSE 이면 사용량 또는 사용 범위에 0개 또는 1개의 지정자가 있습니다.

IsAbsolute

TRUE 이면 단추 사용량 또는 사용 범위가 절대 데이터를 제공한다는 것을 지정합니다. 그렇지 않으면 IsAbsoluteFALSE 이면 단추 데이터는 이전 값의 상태 변경입니다.

ReportCount

HID 정의 보고서 수입니다. API 버전 2.0부터 사용할 수 있습니다. HIDP_GetVersion 함수를 호출하여 API 버전을 가져옵니다.

Reserved2

내부 시스템 사용을 위해 예약되어 있습니다.

Reserved

내부 시스템 사용을 위해 예약되어 있습니다.

Range

IsRangeTRUE 이면 사용 범위에 대한 정보를 지정합니다. 그렇지 않으면 IsRangeFALSE 이면 NotRange 에는 단일 사용량에 대한 정보가 포함됩니다.

Range.UsageMin

Range.UsageMax 에 의해 포괄 상한이 지정된 사용 범위의 포함 하한을 나타냅니다.

Range.UsageMax

Range.UsageMin 으로 표시되는 포함 하한이 있는 사용 범위의 포함 상한을 나타냅니다.

Range.StringMin

범위 상한이 Range.StringMax 로 표시되는 문자열 설명자 범위(문자열 최솟값 및 문자열 최대 항목으로 지정됨)의 포함 하한을 나타냅니다.

Range.StringMax

범위 하한이 Range.StringMin 으로 표시되는 문자열 설명자 범위(문자열 최소값 및 문자열 최대 항목으로 지정됨)의 포함 상한을 나타냅니다.

Range.DesignatorMin

범위 하한이 Range.DesignatorMax 로 표시되는 지정자 범위(지정자 최소값 및 지정자 최대 항목으로 지정됨)의 포함 하한을 나타냅니다.

Range.DesignatorMax

범위 하한이 Range.DesignatorMin 으로 표시되는 지정자 범위(지정자 최소값 및 지정자 최대 항목으로 지정됨)의 포함 상한을 나타냅니다.

Range.DataIndexMin

Range.UsageMin 에서 Range.UsageMax 로 지정된 사용량에 대해 일대일 및 동일한 순서로 해당하는 순차 적 데이터 인덱스 범위의 포함 하한을 나타냅니다.

Range.DataIndexMax

Range.UsageMin 에서 Range.UsageMax 로 지정된 사용량에 대해 일대일 및 동일한 순서로 해당하는 순차적 데이터 인덱스 범위의 포함 상한을 나타냅니다.

NotRange

IsRangeFALSE 이면 단일 사용에 대한 정보를 지정합니다. 그렇지 않으면 IsRangeTRUE 이면 범위 는 사용 범위에 대한 정보를 포함합니다.

NotRange.Usage

사용 ID를 나타냅니다.

NotRange.Reserved1

내부 시스템 사용을 위해 예약되어 있습니다.

NotRange.StringIndex

NotRange.Usage 에서 지정한 사용량에 대한 문자열 설명자 ID를 나타냅니다.

NotRange.Reserved2

내부 시스템 사용을 위해 예약되어 있습니다.

NotRange.DesignatorIndex

NotRange.Usage 에서 지정한 사용량에 대한 지정자 ID를 나타냅니다.

NotRange.Reserved3

내부 시스템 사용을 위해 예약되어 있습니다.

NotRange.DataIndex

NotRange.Usage 에서 지정한 사용량의 데이터 인덱스입니다.

NotRange.Reserved4

내부 시스템 사용을 위해 예약되어 있습니다.

설명

클라이언트는 HidP_GetButtonCaps 또는 HidP_GetSpecificButtonCaps 호출하여 단추 기능 배열을 가져옵니다. 이러한 루틴은 호출자가 할당한 버퍼에서 HIDP_BUTTON_CAPS 구조의 배열을 반환합니다. 필요한 버퍼 길이는 HidP_GetCaps 반환된 HIDP_CAPS 구조체에 지정됩니다.

HID 컨트롤 값의 기능에 대한 자세한 내용은 컬렉션 기능값 기능 배열을 참조하세요.

보고서 설명자가 ReportCount 보다 적은 사용 선언으로 입력, 출력 또는 기능 주 항목을 선언하는 경우 마지막 사용량은 해당 주 항목의 나머지 모든 지정되지 않은 개수에 적용됩니다. 예를 들어 많은 필드를 설명해야 하는 데이터(버퍼링된 바이트)가 있을 수 있습니다. 이 경우 이러한 관련 필드에 대해 하나의 값 상한 구조만 할당되고 모두 동일한 사용량을 가지며 ReportCount 는 관련된 필드 수를 반영합니다. 일반적으로 ReportCount 는 하나입니다. 이러한 값 구조의 모든 필드에 액세스하려면 HidP_GetUsageValueArrayHidP_SetUsageValueArray 사용해야 합니다. HidP_GetUsageValueHidP_SetScaledUsageValue 함수도 작동합니다. 그러나 이러한 함수는 구조체의 첫 번째 필드에서만 작동합니다.

요구 사항

   
헤더 hidpi.h(Hidpi.h 포함)

참고 항목