hidpi.h

来自「开放源码的编译器open watcom 1.6.0版的源代码」· C头文件 代码 · 共 605 行 · 第 1/2 页

H
605
字号
HIDAPI
NTSTATUS
DDKAPI
HidP_GetCaps(
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*OUT*/ PHIDP_CAPS  Capabilities);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetData(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*OUT*/ PHIDP_DATA  DataList,
  /*IN OUT*/ PULONG  DataLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetExtendedAttributes(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USHORT  DataIndex,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*OUT*/ PHIDP_EXTENDED_ATTRIBUTES  Attributes,
  /*IN OUT*/ PULONG  LengthAttributes);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetLinkCollectionNodes(
  /*OUT*/ PHIDP_LINK_COLLECTION_NODE  LinkCollectionNodes,
  /*IN OUT*/ PULONG  LinkCollectionNodesLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetScaledUsageValue(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
  /*IN*/ USAGE  Usage,
  /*OUT*/ PLONG  UsageValue,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetSpecificButtonCaps(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection,
  /*IN*/ USAGE  Usage,
  /*OUT*/ PHIDP_BUTTON_CAPS  ButtonCaps,
  /*IN OUT*/ PULONG  ButtonCapsLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetSpecificValueCaps(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection,
  /*IN*/ USAGE  Usage,
  /*OUT*/ PHIDP_VALUE_CAPS  ValueCaps,
  /*IN OUT*/ PULONG  ValueCapsLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetUsages(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
  /*OUT*/ USAGE  *UsageList,
  /*IN OUT*/ ULONG  *UsageLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetUsagesEx(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USHORT  LinkCollection,
  /*OUT*/ PUSAGE_AND_PAGE  ButtonList,
  /*IN OUT*/ ULONG  *UsageLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetUsageValue(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection,
  /*IN*/ USAGE  Usage,
  /*OUT*/ PULONG  UsageValue,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_GetUsageValueArray(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
  /*IN*/ USAGE  Usage,
  /*OUT*/ PCHAR  UsageValue,
  /*IN*/ USHORT  UsageValueByteLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

/*
 * NTSTATUS
 * HidP_GetValueCaps(
 * IN HIDP_REPORT_TYPE  ReportType,
 * OUT PHIDP_VALUE_CAPS  ValueCaps,
 * IN OUT PULONG  ValueCapsLength,
 * IN PHIDP_PREPARSED_DATA  PreparsedData);
 */
#define HidP_GetValueCaps(_Type_, _Caps_, _Len_, _Data_) \
  HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_)

HIDAPI
NTSTATUS
DDKAPI
HidP_InitializeReportForID(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ UCHAR  ReportID,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

/*
 * BOOLEAN
 * HidP_IsSameUsageAndPage(
 *   USAGE_AND_PAGE  u1,
 *   USAGE_AND_PAGE  u2);
 */
#define HidP_IsSameUsageAndPage(u1, u2) ((* (PULONG) &u1) == (* (PULONG) &u2))

HIDAPI
ULONG
DDKAPI
HidP_MaxDataListLength(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);

HIDAPI
ULONG
DDKAPI
HidP_MaxUsageListLength(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage  /*OPTIONAL*/,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData);

/*
 * NTSTATUS
 * HidP_SetButtons(
 * IN HIDP_REPORT_TYPE  ReportType,
 * IN USAGE  UsagePage,
 * IN USHORT  LinkCollection,
 * IN PUSAGE  UsageList,
 * IN OUT PULONG  UsageLength,
 * IN PHIDP_PREPARSED_DATA  PreparsedData,
 * IN OUT PCHAR  Report,
 * IN ULONG  ReportLength);
 */
#define HidP_SetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
  HidP_SetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)

HIDAPI
NTSTATUS
DDKAPI
HidP_SetData(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ PHIDP_DATA  DataList,
  /*IN OUT*/ PULONG  DataLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_SetScaledUsageValue(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage, 
  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
  /*IN*/ USAGE  Usage,
  /*IN*/ LONG  UsageValue,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_SetUsages(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection /*OPTIONAL*/,
  /*IN*/ PUSAGE  UsageList,
  /*IN OUT*/ PULONG  UsageLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_SetUsageValue(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection,
  /*IN*/ USAGE  Usage,
  /*IN*/ ULONG  UsageValue,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_SetUsageValueArray(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection  /*OPTIONAL*/,
  /*IN*/ USAGE  Usage,
  /*IN*/ PCHAR  UsageValue,
  /*IN*/ USHORT  UsageValueByteLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

/*
 * NTSTATUS
 * HidP_UnsetButtons(
 * IN HIDP_REPORT_TYPE  ReportType,
 * IN USAGE  UsagePage,
 * IN USHORT  LinkCollection,
 * IN PUSAGE  UsageList,
 * IN OUT PULONG  UsageLength,
 * IN PHIDP_PREPARSED_DATA  PreparsedData,
 * IN OUT PCHAR  Report,
 * IN ULONG  ReportLength);
 */
#define HidP_UnsetButtons(RT, UP, LC, UL1, UL2, PD, R, RL) \
  HidP_UnsetUsages(RT, UP, LC, UL1, UL2, PD, R, RL)

HIDAPI
NTSTATUS
DDKAPI
HidP_UnsetUsages(
  /*IN*/ HIDP_REPORT_TYPE  ReportType,
  /*IN*/ USAGE  UsagePage,
  /*IN*/ USHORT  LinkCollection,
  /*IN*/ PUSAGE  UsageList,
  /*IN OUT*/ PULONG  UsageLength,
  /*IN*/ PHIDP_PREPARSED_DATA  PreparsedData,
  /*IN OUT*/ PCHAR  Report,
  /*IN*/ ULONG  ReportLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_UsageAndPageListDifference(
  /*IN*/ PUSAGE_AND_PAGE  PreviousUsageList,
  /*IN*/ PUSAGE_AND_PAGE  CurrentUsageList,
  /*OUT*/ PUSAGE_AND_PAGE  BreakUsageList,
  /*OUT*/ PUSAGE_AND_PAGE  MakeUsageList,
  /*IN*/ ULONG  UsageListLength);

HIDAPI
NTSTATUS
DDKAPI
HidP_UsageListDifference(
  /*IN*/ PUSAGE  PreviousUsageList,
  /*IN*/ PUSAGE  CurrentUsageList,
  /*OUT*/ PUSAGE  BreakUsageList,
  /*OUT*/ PUSAGE  MakeUsageList,
  /*IN*/ ULONG  UsageListLength);

#ifdef __cplusplus
}
#endif

#endif /* __HIDPI_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?