ReactOS 0.4.16-dev-306-g647d351
|
#include "hidusage.h"
Go to the source code of this file.
Classes | |
struct | _HIDP_UNKNOWN_TOKEN |
struct | _HIDP_KEYBOARD_MODIFIER_STATE |
struct | _USAGE_AND_PAGE |
struct | _HIDD_ATTRIBUTES |
struct | _HIDD_CONFIGURATION |
struct | _HIDP_BUTTON_CAPS |
struct | _HIDP_CAPS |
struct | _HIDP_DATA |
struct | _HIDP_EXTENDED_ATTRIBUTES |
struct | _HIDP_LINK_COLLECTION_NODE |
struct | _HIDP_VALUE_CAPS |
Enumerations | |
enum | _HIDP_KEYBOARD_DIRECTION { HidP_Keyboard_Break , HidP_Keyboard_Make } |
enum | _HIDP_REPORT_TYPE { HidP_Input , HidP_Output , HidP_Feature } |
#define HIDAPI DECLSPEC_IMPORT |
#define HIDP_ERROR_CODES | ( | SEV, | |
CODE | |||
) | ((NTSTATUS) (((SEV) << 28) | (FACILITY_HID_ERROR_CODE << 16) | (CODE))) |
#define HidP_GetButtonCaps | ( | _Type_, | |
_Caps_, | |||
_Len_, | |||
_Data_ | |||
) | HidP_GetSpecificButtonCaps(_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) |
#define HidP_GetButtonListLength | ( | RTy, | |
UPa, | |||
Ppd | |||
) | HidP_GetUsageListLength(Rty, UPa, Ppd) |
#define HidP_GetButtons | ( | Rty, | |
UPa, | |||
LCo, | |||
ULi, | |||
ULe, | |||
Ppd, | |||
Rep, | |||
RLe | |||
) | HidP_GetUsages(Rty, UPa, LCo, ULi, ULe, Ppd, Rep, RLe) |
#define HidP_GetValueCaps | ( | _Type_, | |
_Caps_, | |||
_Len_, | |||
_Data_ | |||
) | HidP_GetSpecificValueCaps (_Type_, 0, 0, 0, _Caps_, _Len_, _Data_) |
#define HIDP_STATUS_BAD_LOG_PHY_VALUES (HIDP_ERROR_CODES(0xC, 6)) |
#define HIDP_STATUS_BUFFER_TOO_SMALL (HIDP_ERROR_CODES(0xC, 7)) |
#define HIDP_STATUS_BUTTON_NOT_PRESSED (HIDP_ERROR_CODES(0xC, 0xF)) |
#define HIDP_STATUS_DATA_INDEX_NOT_FOUND (HIDP_ERROR_CODES(0xC, 0xD)) |
#define HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 0xE)) |
#define HIDP_STATUS_I8042_TRANS_UNKNOWN (HIDP_ERROR_CODES(0xC, 9)) |
#define HIDP_STATUS_I8242_TRANS_UNKNOWN HIDP_STATUS_I8042_TRANS_UNKNOWN |
#define HIDP_STATUS_INCOMPATIBLE_REPORT_ID (HIDP_ERROR_CODES(0xC, 0xA)) |
#define HIDP_STATUS_INTERNAL_ERROR (HIDP_ERROR_CODES(0xC, 8)) |
#define HIDP_STATUS_INVALID_PREPARSED_DATA (HIDP_ERROR_CODES(0xC, 1)) |
#define HIDP_STATUS_INVALID_REPORT_LENGTH (HIDP_ERROR_CODES(0xC, 3)) |
#define HIDP_STATUS_INVALID_REPORT_TYPE (HIDP_ERROR_CODES(0xC, 2)) |
#define HIDP_STATUS_IS_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xC)) |
#define HIDP_STATUS_NOT_IMPLEMENTED (HIDP_ERROR_CODES(0xC, 0x20)) |
#define HIDP_STATUS_NOT_VALUE_ARRAY (HIDP_ERROR_CODES(0xC, 0xB)) |
#define HIDP_STATUS_NULL (HIDP_ERROR_CODES(0x8, 1)) |
#define HIDP_STATUS_REPORT_DOES_NOT_EXIST (HIDP_ERROR_CODES(0xC, 0x10)) |
#define HIDP_STATUS_SUCCESS (HIDP_ERROR_CODES(0x0, 0)) |
#define HIDP_STATUS_USAGE_NOT_FOUND (HIDP_ERROR_CODES(0xC, 4)) |
#define HIDP_STATUS_VALUE_OUT_OF_RANGE (HIDP_ERROR_CODES(0xC, 5)) |
typedef struct _HIDD_ATTRIBUTES HIDD_ATTRIBUTES |
typedef struct _HIDP_BUTTON_CAPS HIDP_BUTTON_CAPS |
typedef struct _HIDP_CAPS HIDP_CAPS |
typedef struct _HIDP_DATA HIDP_DATA |
typedef enum _HIDP_REPORT_TYPE HIDP_REPORT_TYPE |
typedef struct _HIDP_VALUE_CAPS HIDP_VALUE_CAPS |
typedef struct _HIDD_ATTRIBUTES * PHIDD_ATTRIBUTES |
typedef struct _HIDD_CONFIGURATION * PHIDD_CONFIGURATION |
typedef struct _HIDP_BUTTON_CAPS * PHIDP_BUTTON_CAPS |
typedef struct _HIDP_CAPS * PHIDP_CAPS |
typedef struct _HIDP_DATA * PHIDP_DATA |
typedef struct _HIDP_PREPARSED_DATA* PHIDP_PREPARSED_DATA |
typedef PUCHAR PHIDP_REPORT_DESCRIPTOR |
typedef struct _HIDP_UNKNOWN_TOKEN * PHIDP_UNKNOWN_TOKEN |
typedef struct _HIDP_VALUE_CAPS * PHIDP_VALUE_CAPS |
typedef struct _USAGE_AND_PAGE * PUSAGE_AND_PAGE |
typedef struct _USAGE_AND_PAGE USAGE_AND_PAGE |
Enumerator | |
---|---|
HidP_Input | |
HidP_Output | |
HidP_Feature |
Definition at line 237 of file hidpi.h.
_Must_inspect_result_ _In_reads_ | ( | UsageListLength | ) |
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG _In_ PHIDP_PREPARSED_DATA _In_reads_bytes_ | ( | ReportLength | ) |
_Must_inspect_result_ _IRQL_requires_max_ | ( | DISPATCH_LEVEL | ) |
Definition at line 347 of file common.c.
_Must_inspect_result_ _IRQL_requires_max_ | ( | PASSIVE_LEVEL | ) |
Queries information details about a security descriptor.
Computes the quota size of a security descriptor.
Assigns a security descriptor for a new object.
An extended function that assigns a security descriptor for a new object.
Frees a security descriptor.
An extended function that sets new information data to a security descriptor.
Modifies some information data about a security descriptor.
[in] | SecurityInformation | Security information details to be queried from a security descriptor. |
[out] | SecurityDescriptor | The returned security descriptor with security information data. |
[in,out] | Length | The returned length of a security descriptor. |
[in,out] | ObjectsSecurityDescriptor | The returned object security descriptor. |
[in] | Object | If specified, the function will use this arbitrary object that points to an object security descriptor. |
[in] | SecurityInformation | Security information details to be set. |
[in] | SecurityDescriptor | A security descriptor where its info is to be changed. |
[in,out] | ObjectsSecurityDescriptor | The returned pointer to security descriptor objects. |
[in] | PoolType | Pool type for the new security descriptor to allocate. |
[in] | GenericMapping | The generic mapping of access rights masks. |
[in] | Object | If specified, the function will use this arbitrary object that points to an object security descriptor. |
[in] | SecurityInformation | Security information details to be set. |
[in] | SecurityDescriptor | A security descriptor where its info is to be changed. |
[in,out] | ObjectsSecurityDescriptor | The returned pointer to security descriptor objects. |
[in] | AutoInheritFlags | Flags bitmask inheritation, influencing how the security descriptor can be inherited and if it can be in the first place. |
[in] | PoolType | Pool type for the new security descriptor to allocate. |
[in] | GenericMapping | The generic mapping of access rights masks. |
[in] | SecurityDescriptor | A security descriptor to be freed from memory. |
[in] | _ParentDescriptor | A security descriptor of the parent object that is being created. |
[in] | _ExplicitDescriptor | An explicit security descriptor that is applied to a new object. |
[out] | NewDescriptor | The new allocated security descriptor. |
[in] | ObjectType | The type of the new object. |
[in] | IsDirectoryObject | Set this to TRUE if the newly created object is a directory object, otherwise set this to FALSE. |
[in] | AutoInheritFlags | Automatic inheritance flags that influence how access control entries within ACLs from security descriptors are inherited. |
[in] | SubjectContext | Security subject context of the new object. |
[in] | GenericMapping | Generic mapping of access mask rights. |
[in] | PoolType | This parameter is unused. |
[in] | ParentDescriptor | A security descriptor of the parent object that is being created. |
[in] | ExplicitDescriptor | An explicit security descriptor that is applied to a new object. |
[out] | NewDescriptor | The new allocated security descriptor. |
[in] | IsDirectoryObject | Set this to TRUE if the newly created object is a directory object, otherwise set this to FALSE. |
[in] | SubjectContext | Security subject context of the new object. |
[in] | GenericMapping | Generic mapping of access mask rights. |
[in] | PoolType | This parameter is unused. |
[in] | SecurityDescriptor | A security descriptor. |
[out] | QuotaInfoSize | The returned quota size of the given security descriptor to the caller. The function may return 0 to this parameter if the descriptor doesn't have a group or a discretionary access control list (DACL) even. |
Definition at line 923 of file Messaging.c.
_Must_inspect_result_ _Out_writes_ | ( | UsageListLength | ) |
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG _In_ PHIDP_PREPARSED_DATA _Out_writes_bytes_ | ( | ReportLength | ) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetScaledUsageValue | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_In_ USAGE | Usage, | ||
_Out_ PLONG | UsageValue, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_In_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
Referenced by MouHid_GetButtonMove(), and MouHid_ReadCompletion().
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetUsages | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_Out_writes_to_ *, *UsageLength USAGE * | UsageList, | ||
_Inout_ ULONG * | UsageLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_Out_writes_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
Referenced by MouHid_GetButtonFlags(), and process_data().
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI 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_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
Referenced by MouHid_GetButtonMove(), and process_data().
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_GetUsageValueArray | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_In_ USAGE | Usage, | ||
_Inout_updates_bytes_(UsageValueByteLength) PCHAR | UsageValue, | ||
_In_ USHORT | UsageValueByteLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_In_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetData | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_Inout_updates_to_ *, *DataLength PHIDP_DATA | DataList, | ||
_Inout_ PULONG | DataLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_In_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetScaledUsageValue | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_In_ USAGE | Usage, | ||
_In_ LONG | UsageValue, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_Inout_updates_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsages | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_Inout_updates_to_ *, *UsageLength PUSAGE | UsageList, | ||
_Inout_ PULONG | UsageLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_In_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsageValue | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_In_ USAGE | Usage, | ||
_In_ ULONG | UsageValue, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_Inout_updates_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_SetUsageValueArray | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_ USHORT | LinkCollection, | ||
_In_ USAGE | Usage, | ||
_In_reads_bytes_(UsageValueByteLength) PCHAR | UsageValue, | ||
_In_ USHORT | UsageValueByteLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_Inout_updates_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_TranslateUsageAndPagesToI8042ScanCodes | ( | _In_reads_(UsageListLength) PUSAGE_AND_PAGE | ChangedUsageList, |
_In_ ULONG | UsageListLength, | ||
_In_ HIDP_KEYBOARD_DIRECTION | KeyAction, | ||
_Inout_ PHIDP_KEYBOARD_MODIFIER_STATE | ModifierState, | ||
_In_ PHIDP_INSERT_SCANCODES | InsertCodesProcedure, | ||
_In_opt_ PVOID | InsertCodesContext | ||
) |
Referenced by KbdHid_ReadCompletion().
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_TranslateUsagesToI8042ScanCodes | ( | _In_reads_(UsageListLength) PUSAGE | ChangedUsageList, |
_In_ ULONG | UsageListLength, | ||
_In_ HIDP_KEYBOARD_DIRECTION | KeyAction, | ||
_Inout_ PHIDP_KEYBOARD_MODIFIER_STATE | ModifierState, | ||
_In_ PHIDP_INSERT_SCANCODES | InsertCodesProcedure, | ||
_In_opt_ PVOID | InsertCodesContext | ||
) |
_Must_inspect_result_ HIDAPI NTSTATUS NTAPI HidP_UnsetUsages | ( | _In_ HIDP_REPORT_TYPE | ReportType, |
_In_ USAGE | UsagePage, | ||
_In_opt_ USHORT | LinkCollection, | ||
_Inout_updates_to_ *, *UsageLength PUSAGE | UsageList, | ||
_Inout_ PULONG | UsageLength, | ||
_In_ PHIDP_PREPARSED_DATA | PreparsedData, | ||
_In_reads_bytes_(ReportLength) PCHAR | Report, | ||
_In_ ULONG | ReportLength | ||
) |
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS ButtonCaps |
Definition at line 385 of file hidpi.h.
Referenced by HidP_GetButtonCaps(), and HidParser_GetButtonCaps().
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_BUTTON_CAPS _Inout_ PUSHORT ButtonCapsLength |
Definition at line 386 of file hidpi.h.
Referenced by HidP_GetButtonCaps(), and HidParser_GetButtonCaps().
Definition at line 425 of file hidpi.h.
Referenced by HidP_GetUsagesEx(), and HidParser_GetUsagesEx().
_Must_inspect_result_ _Out_ PHIDP_CAPS Capabilities |
_Must_inspect_result_ _In_ USHORT DataIndex |
Definition at line 346 of file hidpi.h.
Referenced by WriteMidiUartMulti().
_Must_inspect_result_ _Out_writes_to_ DataLength PHIDP_DATA _Inout_ PULONG DataLength |
Definition at line 333 of file hidpi.h.
Referenced by CKsDataTypeHandler::KsIsMediaTypeInRanges().
_Must_inspect_result_ _In_ USHORT _In_ PHIDP_PREPARSED_DATA _Out_writes_to_ LengthAttributes PHIDP_EXTENDED_ATTRIBUTES _Inout_ OUT PULONG LengthAttributes |
_Must_inspect_result_ _In_ USHORT LinkCollection |
Definition at line 383 of file hidpi.h.
Referenced by HidP_GetScaledUsageValue(), HidP_GetSpecificValueCaps(), HidP_GetUsages(), HidP_GetUsagesEx(), HidP_GetUsageValue(), HidParser_GetScaledUsageValue(), HidParser_GetSpecificValueCaps(), HidParser_GetUsages(), HidParser_GetUsagesEx(), and HidParser_GetUsageValue().
_Must_inspect_result_ _Inout_ PULONG LinkCollectionNodesLength |
_In_ USAGE _In_ PHIDP_PREPARSED_DATA PreparsedData |
Definition at line 335 of file hidpi.h.
Referenced by HidD_FreePreparsedData(), HidD_GetPreparsedData(), HidP_GetButtonCaps(), HidP_GetCaps(), HidP_GetScaledUsageValue(), HidP_GetSpecificValueCaps(), HidP_GetUsages(), HidP_GetUsagesEx(), HidP_GetUsageValue(), HidP_GetValueCaps(), HidP_MaxUsageListLength(), KbdHid_StartDevice(), and MouHid_StartDevice().
_Must_inspect_result_ _In_ UCHAR ReportID |
Definition at line 482 of file hidpi.h.
Referenced by HidClassPDO_GetReportDescriptionByReportID(), HidParser_AllocateReport(), HidParser_FindReport(), HidParser_FindReportInCollection(), and HidParser_GetReport().
_Must_inspect_result_ _In_ UCHAR _In_ PHIDP_PREPARSED_DATA _In_ ULONG ReportLength |
Definition at line 337 of file hidpi.h.
Referenced by HidP_GetScaledUsageValue(), HidP_GetUsages(), HidP_GetUsagesEx(), HidP_GetUsageValue(), HidParser_GetReportLength(), HidParser_GetScaledUsageValue(), HidParser_GetUsages(), HidParser_GetUsagesEx(), HidParser_GetUsageValue(), and HidParser_ParseReportDescriptor().
Definition at line 384 of file hidpi.h.
Referenced by Addhost(), FxPkgPnp::AdjustUsageCount(), CheckDeviceFormat(), clear_normals(), compare_normals(), CreateD3D9MipMap(), CreateDIBSection(), D3DXComputeTangentFrameEx(), D3DXCreateMeshFVFTest(), D3DXCreateMeshTest(), D3DXFVFFromDeclarator(), D3DXLoadMeshFromXInMemory(), DECLARE_INTERFACE_(), Deletehost(), DIB_ConvertBitmapInfo(), FxPkgPnp::GetUsageCount(), GreGetDIBitsInternal(), HeapSummary(), HidP_GetScaledUsageValue(), HidP_GetSpecificValueCaps(), HidP_GetUsageValue(), HidParser_GetScaledUsageValue(), HidParser_GetSpecificValueCaps(), HidParser_GetUsageValue(), HidParser_TranslateUsageAndPagesToI8042ScanCodes(), HidParser_UsageAndPageListDifference(), HidParser_UsageListDifference(), IDirect3D9Impl_CheckDeviceFormat(), IDirect3DDevice9Base_CreateTexture(), InitDirect3DBaseTexture9(), FxPkgPnp::IsUsageSupported(), main(), MouHid_GetButtonFlags(), NtGdiCreateDIBSection(), NtGdiSetSystemPaletteUse(), ParseCmdline(), ReserveMemory(), FxPkgPnp::SetUsageSupport(), test_shader_semantics(), and wmain().
_Must_inspect_result_ _In_ USHORT _Inout_updates_to_ UsageLength PUSAGE_AND_PAGE _Inout_ ULONG* UsageLength |
Definition at line 426 of file hidpi.h.
Referenced by HidP_GetUsages(), HidP_GetUsagesEx(), HidParser_GetUsages(), HidParser_GetUsagesEx(), and HidParser_GetUsagesWithReport().
_Must_inspect_result_ _In_ ULONG UsageListLength |
Definition at line 647 of file hidpi.h.
Referenced by HidP_TranslateUsageAndPagesToI8042ScanCodes(), HidP_UsageAndPageListDifference(), HidP_UsageListDifference(), HidParser_TranslateUsageAndPagesToI8042ScanCodes(), HidParser_UsageAndPageListDifference(), HidParser_UsageListDifference(), and MouHid_GetButtonFlags().
Definition at line 382 of file hidpi.h.
Referenced by HidP_GetScaledUsageValue(), HidP_GetSpecificValueCaps(), HidP_GetUsages(), HidP_GetUsageValue(), HidP_MaxUsageListLength(), HidParser_GetCollectionUsagePage(), HidParser_GetMaxUsageListLengthWithReportAndPage(), HidParser_GetScaledUsageValue(), HidParser_GetScaledUsageValueWithReport(), HidParser_GetSpecificValueCaps(), HidParser_GetSpecificValueCapsWithReport(), HidParser_GetUsages(), HidParser_GetUsagesWithReport(), HidParser_GetUsageValue(), HidParser_GetUsageValueWithReport(), HidParser_MaxUsageListLength(), HidParser_TranslateUsageAndPagesToI8042ScanCodes(), and process_data().
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS ValueCaps |
Definition at line 399 of file hidpi.h.
Referenced by HidP_GetSpecificValueCaps(), HidP_GetValueCaps(), HidParser_GetSpecificValueCaps(), HidParser_GetSpecificValueCapsWithReport(), and MouHid_StartDevice().
_Must_inspect_result_ _In_ USAGE _In_ USHORT _In_ USAGE _Out_ PHIDP_VALUE_CAPS _Inout_ PUSHORT ValueCapsLength |
Definition at line 400 of file hidpi.h.
Referenced by HidP_GetSpecificValueCaps(), HidP_GetValueCaps(), HidParser_GetSpecificValueCaps(), HidParser_GetSpecificValueCapsWithReport(), and MouHid_StartDevice().