* Annotate hidpi.h.

svn path=/trunk/; revision=59799
This commit is contained in:
Amine Khaldi 2013-08-23 18:29:18 +00:00
parent e2d4d758d7
commit 566a7607c1

View file

@ -20,8 +20,8 @@
* *
*/ */
#ifndef __HIDPI_H #ifndef __HIDPI_H__
#define __HIDPI_H #define __HIDPI_H__
#include "hidusage.h" #include "hidusage.h"
@ -69,10 +69,11 @@ typedef struct _HIDP_KEYBOARD_MODIFIER_STATE {
} DUMMYUNIONNAME; } DUMMYUNIONNAME;
} HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE; } HIDP_KEYBOARD_MODIFIER_STATE, *PHIDP_KEYBOARD_MODIFIER_STATE;
typedef BOOLEAN (NTAPI *PHIDP_INSERT_SCANCODES)( typedef BOOLEAN
IN PVOID Context, (NTAPI *PHIDP_INSERT_SCANCODES)(
IN PCHAR NewScanCodes, _In_opt_ PVOID Context,
IN ULONG Length); _In_reads_bytes_(Length) PCHAR NewScanCodes,
_In_ ULONG Length);
typedef struct _USAGE_AND_PAGE { typedef struct _USAGE_AND_PAGE {
USAGE Usage; USAGE Usage;
@ -92,27 +93,29 @@ typedef struct _HIDD_CONFIGURATION {
ULONG RingBufferSize; ULONG RingBufferSize;
} HIDD_CONFIGURATION, *PHIDD_CONFIGURATION; } HIDD_CONFIGURATION, *PHIDD_CONFIGURATION;
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_TranslateUsageAndPagesToI8042ScanCodes( HidP_TranslateUsageAndPagesToI8042ScanCodes(
IN PUSAGE_AND_PAGE ChangedUsageList, _In_reads_(UsageListLength) PUSAGE_AND_PAGE ChangedUsageList,
IN ULONG UsageListLength, _In_ ULONG UsageListLength,
IN HIDP_KEYBOARD_DIRECTION KeyAction, _In_ HIDP_KEYBOARD_DIRECTION KeyAction,
IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, _Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
IN PVOID InsertCodesContext); _In_opt_ PVOID InsertCodesContext);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_TranslateUsagesToI8042ScanCodes( HidP_TranslateUsagesToI8042ScanCodes(
IN PUSAGE ChangedUsageList, _In_reads_(UsageListLength) PUSAGE ChangedUsageList,
IN ULONG UsageListLength, _In_ ULONG UsageListLength,
IN HIDP_KEYBOARD_DIRECTION KeyAction, _In_ HIDP_KEYBOARD_DIRECTION KeyAction,
IN OUT PHIDP_KEYBOARD_MODIFIER_STATE ModifierState, _Inout_ PHIDP_KEYBOARD_MODIFIER_STATE ModifierState,
IN PHIDP_INSERT_SCANCODES InsertCodesProcedure, _In_ PHIDP_INSERT_SCANCODES InsertCodesProcedure,
IN PVOID InsertCodesContext); _In_opt_ PVOID InsertCodesContext);
typedef struct _HIDP_BUTTON_CAPS { typedef struct _HIDP_BUTTON_CAPS {
USAGE UsagePage; USAGE UsagePage;
@ -311,130 +314,148 @@ typedef enum _HIDP_REPORT_TYPE {
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetCaps( HidP_GetCaps(
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
OUT PHIDP_CAPS Capabilities); _Out_ PHIDP_CAPS Capabilities);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetData( HidP_GetData(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
OUT PHIDP_DATA DataList, _Out_writes_to_(*DataLength, *DataLength) PHIDP_DATA DataList,
IN OUT PULONG DataLength, _Inout_ PULONG DataLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _Out_writes_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetExtendedAttributes( HidP_GetExtendedAttributes(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USHORT DataIndex, _In_ USHORT DataIndex,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
OUT PHIDP_EXTENDED_ATTRIBUTES Attributes, _Out_writes_to_(*LengthAttributes, *LengthAttributes) PHIDP_EXTENDED_ATTRIBUTES Attributes,
IN OUT PULONG LengthAttributes); _Inout_ OUT PULONG LengthAttributes);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetLinkCollectionNodes( HidP_GetLinkCollectionNodes(
OUT PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes, _Out_ PHIDP_LINK_COLLECTION_NODE LinkCollectionNodes,
IN OUT PULONG LinkCollectionNodesLength, _Inout_ PULONG LinkCollectionNodesLength,
IN PHIDP_PREPARSED_DATA PreparsedData); _In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetScaledUsageValue( HidP_GetScaledUsageValue(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
OUT PLONG UsageValue, _Out_ PLONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetSpecificButtonCaps( HidP_GetSpecificButtonCaps(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
OUT PHIDP_BUTTON_CAPS ButtonCaps, _Out_ PHIDP_BUTTON_CAPS ButtonCaps,
IN OUT PUSHORT ButtonCapsLength, _Inout_ PUSHORT ButtonCapsLength,
IN PHIDP_PREPARSED_DATA PreparsedData); _In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetSpecificValueCaps( HidP_GetSpecificValueCaps(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
OUT PHIDP_VALUE_CAPS ValueCaps, _Out_ PHIDP_VALUE_CAPS ValueCaps,
IN OUT PUSHORT ValueCapsLength, _Inout_ PUSHORT ValueCapsLength,
IN PHIDP_PREPARSED_DATA PreparsedData); _In_ PHIDP_PREPARSED_DATA PreparsedData);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetUsages( HidP_GetUsages(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL, _In_ USHORT LinkCollection,
OUT USAGE *UsageList, _Out_writes_to_(*UsageLength, *UsageLength) USAGE *UsageList,
IN OUT ULONG *UsageLength, _Inout_ ULONG *UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _Out_writes_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetUsagesEx( HidP_GetUsagesEx(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USHORT LinkCollection, _In_ USHORT LinkCollection,
OUT PUSAGE_AND_PAGE ButtonList, _Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE_AND_PAGE ButtonList,
IN OUT ULONG *UsageLength, _Inout_ ULONG *UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetUsageValue( HidP_GetUsageValue(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
OUT PULONG UsageValue, _Out_ PULONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_GetUsageValueArray( HidP_GetUsageValueArray(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
OUT PCHAR UsageValue, _Inout_updates_bytes_(UsageValueByteLength) PCHAR UsageValue,
IN USHORT UsageValueByteLength, _In_ USHORT UsageValueByteLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_) #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@ -451,15 +472,17 @@ HidP_GetUsageValueArray(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_InitializeReportForID( HidP_InitializeReportForID(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN UCHAR ReportID, _In_ UCHAR ReportID,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _Out_writes_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_) #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@ -473,20 +496,22 @@ HidP_InitializeReportForID(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_IRQL_requires_max_(DISPATCH_LEVEL)
HIDAPI HIDAPI
ULONG ULONG
NTAPI NTAPI
HidP_MaxDataListLength( HidP_MaxDataListLength(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN PHIDP_PREPARSED_DATA PreparsedData); _In_ PHIDP_PREPARSED_DATA PreparsedData);
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI HIDAPI
ULONG ULONG
NTAPI NTAPI
HidP_MaxUsageListLength( HidP_MaxUsageListLength(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage OPTIONAL, _In_ USAGE UsagePage,
IN PHIDP_PREPARSED_DATA PreparsedData); _In_ PHIDP_PREPARSED_DATA PreparsedData);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_) #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@ -507,69 +532,74 @@ HidP_MaxUsageListLength(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_SetData( HidP_SetData(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN PHIDP_DATA DataList, _Inout_updates_to_(*DataLength, *DataLength) PHIDP_DATA DataList,
IN OUT PULONG DataLength, _Inout_ PULONG DataLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_SetScaledUsageValue( HidP_SetScaledUsageValue(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
IN LONG UsageValue, _In_ LONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _Inout_updates_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_SetUsages( HidP_SetUsages(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, /* Optional */ _In_ USHORT LinkCollection, /* Optional */
IN PUSAGE UsageList, _Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList,
IN OUT PULONG UsageLength, _Inout_ PULONG UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_SetUsageValue( HidP_SetUsageValue(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
IN ULONG UsageValue, _In_ ULONG UsageValue,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _Inout_updates_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_SetUsageValueArray( HidP_SetUsageValueArray(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection OPTIONAL, _In_ USHORT LinkCollection,
IN USAGE Usage, _In_ USAGE Usage,
IN PCHAR UsageValue, _In_reads_bytes_(UsageValueByteLength) PCHAR UsageValue,
IN USHORT UsageValueByteLength, _In_ USHORT UsageValueByteLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
OUT PCHAR Report, _Inout_updates_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
#if !defined(_HIDPI_NO_FUNCTION_MACROS_) #if !defined(_HIDPI_NO_FUNCTION_MACROS_)
@ -590,41 +620,46 @@ HidP_SetUsageValueArray(
#endif /* _HIDPI_NO_FUNCTION_MACROS_ */ #endif /* _HIDPI_NO_FUNCTION_MACROS_ */
_Must_inspect_result_
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_UnsetUsages( HidP_UnsetUsages(
IN HIDP_REPORT_TYPE ReportType, _In_ HIDP_REPORT_TYPE ReportType,
IN USAGE UsagePage, _In_ USAGE UsagePage,
IN USHORT LinkCollection, _In_opt_ USHORT LinkCollection,
IN PUSAGE UsageList, _Inout_updates_to_(*UsageLength, *UsageLength) PUSAGE UsageList,
IN OUT PULONG UsageLength, _Inout_ PULONG UsageLength,
IN PHIDP_PREPARSED_DATA PreparsedData, _In_ PHIDP_PREPARSED_DATA PreparsedData,
IN OUT PCHAR Report, _In_reads_bytes_(ReportLength) PCHAR Report,
IN ULONG ReportLength); _In_ ULONG ReportLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_UsageAndPageListDifference( HidP_UsageAndPageListDifference(
IN PUSAGE_AND_PAGE PreviousUsageList, _In_reads_(UsageListLength) PUSAGE_AND_PAGE PreviousUsageList,
IN PUSAGE_AND_PAGE CurrentUsageList, _In_reads_(UsageListLength) PUSAGE_AND_PAGE CurrentUsageList,
OUT PUSAGE_AND_PAGE BreakUsageList, _Out_writes_(UsageListLength) PUSAGE_AND_PAGE BreakUsageList,
OUT PUSAGE_AND_PAGE MakeUsageList, _Out_writes_(UsageListLength) PUSAGE_AND_PAGE MakeUsageList,
IN ULONG UsageListLength); _In_ ULONG UsageListLength);
_Must_inspect_result_
_IRQL_requires_max_(PASSIVE_LEVEL)
HIDAPI HIDAPI
NTSTATUS NTSTATUS
NTAPI NTAPI
HidP_UsageListDifference( HidP_UsageListDifference(
IN PUSAGE PreviousUsageList, _In_reads_(UsageListLength) PUSAGE PreviousUsageList,
IN PUSAGE CurrentUsageList, _In_reads_(UsageListLength) PUSAGE CurrentUsageList,
OUT PUSAGE BreakUsageList, _Out_writes_(UsageListLength) PUSAGE BreakUsageList,
OUT PUSAGE MakeUsageList, _Out_writes_(UsageListLength) PUSAGE MakeUsageList,
IN ULONG UsageListLength); _In_ ULONG UsageListLength);
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif /* __HIDPI_H */ #endif /* __HIDPI_H__ */