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[9]

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

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 포함)

추가 정보