GetPointerDevices function (winuser.h)

Gets information about the pointer devices attached to the system.


BOOL GetPointerDevices(
  [in, out]       UINT32              *deviceCount,
  [out, optional] POINTER_DEVICE_INFO *pointerDevices


[in, out] deviceCount

If pointerDevices is NULL, deviceCount returns the total number of attached pointer devices. Otherwise, deviceCount specifies the number of POINTER_DEVICE_INFO structures pointed to by pointerDevices.

[out, optional] pointerDevices

Array of POINTER_DEVICE_INFO structures for the pointer devices attached to the system. If NULL, the total number of attached pointer devices is returned in deviceCount.

Return value

If this function succeeds, it returns TRUE.

Otherwise, it returns FALSE. To retrieve extended error information, call the GetLastError function.


Windows 8 supports the following:

  • 256 contacts per pointer device.
  • 2560 total contacts per system session, regardless of the number of attached devices. For example, 10 pointer devices with 256 contacts each, 20 pointer devices with 128 contacts each, and so on.


Requirement Value
Minimum supported client Windows 8 [desktop apps only]
Minimum supported server Windows Server 2012 [desktop apps only]
Target Platform Windows
Header winuser.h
Library User32.lib
DLL User32.dll
API set ext-ms-win-rtcore-ntuser-wmpointer-l1-1-0 (introduced in Windows 10, version 10.0.14393)

See also