Share via


HidP_UsageListDifference (Compact 2013)

3/26/2014

This function returns the difference between two arrays of HID usages.

Syntax

NTSTATUS HidP_UsageListDifference(
  PUSAGE PreviousUsageList,
  PUSAGE CurrentUsageList,
  PUSAGE BreakUsageList,
  PUSAGE MakeUsageList,
  ULONG UsageListLength
);

Parameters

  • PreviousUsageList
    [in] Pointer to a list of usages that the function compares with the list of usages in CurrentUsageList.
  • CurrentUsageList
    [in] Pointer to a list of usages that the function compares with the list of usages in PreviousUsageList.
  • BreakUsageList
    [out] Pointer to a caller-allocated buffer that, on return, contains a list of the usages that are in PreviousUsageList, but not in CurrentUsageList.
  • MakeUsageList
    [out] Pointer to a caller-allocated buffer that, on return, contains a list of the usages that are in CurrentUsageList, but not in PreviousUsageList.
  • UsageListLength
    [in] Length, in array elements, of the buffers provided at CurrentUsageList and PreviousUsageList.

Return Value

HidP_UsageListDifference returns HIDP_STATUS_SUCCESS.

Remarks

The terms button and usage are used synonymously.

HID client drivers can use this function 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 function 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. The function sets unused usages in an output list to zero.

Requirements

Header

hidpi.h

Library

Hidparse_lib.lib

See Also

Reference

HID Parser Functions
HidP_GetButtons
HidP_UsageAndPageListDifference