HidP_UsageListDifference function (hidpi.h)
The HidP_UsageListDifference routine returns the differences between two arrays of HID usages.
Syntax
NTSTATUS HidP_UsageListDifference(
[in] PUSAGE PreviousUsageList,
[in] PUSAGE CurrentUsageList,
[out] PUSAGE BreakUsageList,
[out] PUSAGE MakeUsageList,
[in] ULONG UsageListLength
);
Parameters
[in] PreviousUsageList
Pointer to a list of usages that the routine compares with the list of usages in CurrentUsageList.
[in] CurrentUsageList
Pointer to a list of usages that the routine compares with the list of usages in PreviousUsageList.
[out] BreakUsageList
Pointer to a caller-allocated buffer that, on return, contains a list of the usages that are in PreviousUsageList, but not in CurrentUsageList.
[out] MakeUsageList
Pointer to a caller-allocated buffer that, on return, contains a list of the usages that are in CurrentUsageList, but not in PreviousUsageList.
[in] UsageListLength
Specifies the length, in array elements, of the buffers provided at CurrentUsageList and PreviousUsageList.
Return value
HidP_UsageListDifference returns HIDP_STATUS_SUCCESS.
Remarks
A user-mode application or kernel-mode driver can use this routine to compare two usage lists, for example, to determine the change in button state between two usage lists returned by two HidP_GetButtons calls.
If the input usage lists have different lengths, an application or driver should set UsageListLength to the length of the larger list.
The routine interprets a zero usage in an input usage list as a delimiter that ends the list. Any usages after a zero in a list are not processed. Unused usages in an output list are set to zero.
For more information, see HID Collections.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 2000 and later versions of Windows. |
Target Platform | Universal |
Header | hidpi.h (include Hidpi.h) |
Library | Hidparse.lib |
IRQL | PASSIVE_LEVEL |