Поделиться через


Функция GetPointerPenInfoHistory (winuser.h)

Возвращает информацию на основе пера, связанную с отдельными входными данными, если таковые были сведены в текущее сообщение для указанного указателя (типа PT_PEN). Последние входные данные включаются в возвращаемый журнал и совпадают с последними входными данными, возвращаемыми функцией GetPointerPenInfo .

Синтаксис

BOOL GetPointerPenInfoHistory(
  [in]            UINT32           pointerId,
  [in, out]       UINT32           *entriesCount,
  [out, optional] POINTER_PEN_INFO *penInfo
);

Параметры

[in] pointerId

Идентификатор указателя, для которого требуется получить сведения.

[in, out] entriesCount

Указатель на переменную, указывающую количество структур в буфере, на которые указывает penInfo . Если getPointerPenInfoHistory завершается успешно, entriesCount обновляется с учетом общего количества доступных структур. Общее количество доступных структур совпадает с полем historyCount в структуре POINTER_PEN_INFO , возвращаемой вызовом GetPointerPenInfo.

[out, optional] penInfo

Адрес массива POINTER_PEN_INFO структур для получения сведений о указателе. Этот параметр может иметь значение NULL, если *entriesCount равно нулю.

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение не равно нулю.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Если приложение не обрабатывает входные сообщения указателя так быстро, как они создаются, некоторые перемещения могут быть объединены. Когда приложение получает объединенное сообщение указателя (типа PT_PEN), оно может использовать функцию GetPointerPenInfoHistory для получения сведений обо всех отдельных входных данных, если таковые были сведены в сообщение. Обратите внимание, что полученные сведения связаны с сообщением указателя, которое недавно было получено вызывающим потоком. Когда вызывающий поток получает следующее сообщение, сведения, связанные с предыдущим сообщением, могут быть недоступны.

Полученные сведения отображаются в обратном хронологическом порядке с последней записью в первой строке возвращаемого массива. Последняя запись совпадает с той, которая возвращается функцией GetPointerPenInfo .

Если количество строк в предоставленном буфере недостаточно для хранения всех доступных записей журнала, эта функция завершается успешно с буфером, содержащим последние записи, и *entriesCount , содержащим общее количество доступных записей.

Если рамка указателя не содержит дополнительных указателей, кроме указанного указателя, эта функция выполняется успешно и возвращает только сведения для указанного указателя.

Если сведения, связанные с рамкой указателя, больше недоступны, эта функция завершается ошибкой с последней ошибкой ERROR_NO_DATA.

Если вызывающий поток не владеет окном (куда изначально были доставлены входные данные или куда было переадресовлено сообщение), в которое было доставлено сообщение указателя, эта функция завершается сбоем с последней ошибкой ERROR_ACCESS_DENIED.

Если указанный указатель не имеет типа PT_PEN, эта функция завершается ошибкой с последней ошибкой ERROR_DATATYPE_MISMATCH.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [только классические приложения]
Минимальная версия сервера Windows Server 2012 [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll

См. также

Функции

GetPointerFramePenInfo

GetPointerFramePenInfoHistory

GetPointerPenInfo