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


Функция EngSetPointerTag (winddi.h)

Функция EngSetPointerTagустарела для Windows 2000 и более поздних версий операционной системы. Эта функция по-прежнему поддерживается, но всегда возвращает значение FALSE.

EngSetPointerTag создает фигуру, которая связана с фигурой указателя приложения при вызовах DrvSetPointerShape другим связанным драйверам в зеркальной системе.

Синтаксис

ENGAPI BOOL EngSetPointerTag(
  [in] HDEV     hdev,
  [in] SURFOBJ  *psoMask,
  [in] SURFOBJ  *psoColor,
  [in] XLATEOBJ *pxlo,
  [in] FLONG    fl
);

Параметры

[in] hdev

Дескриптор устройства. Этот дескриптор GDI, полученный драйвером в качестве параметра hdev для DrvCompletePDEV.

[in] psoMask

Указатель на структуру SURFOBJ 1bpp, которая описывает монохромные компоненты тега. Размеры этого растрового рисунка определяют размер тега. Неявные ограничения на размеры тегов отсутствуют, но оптимальные размеры тегов — 32 x 32, 48 x 48 и 64 x 64 пикселя. GDI удаляет текущий тег, если это значение равно NULL.

[in] psoColor

Указатель на структуру SURFOBJ в том же цветовом формате, что и вызывающий драйвер. Это значение может иметь значение NULL , если тег не содержит компонентов цвета. Цветовая растровая карта имеет ту же ширину, что и psoInputMask , и половину высоты.

[in] pxlo

Зарезервировано для использования системой; необходимо задать значение NULL.

[in] fl

Зарезервировано для использования системой; значение должно быть равно нулю.

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

При успешном применении тега EngSetPointerTag возвращает значение TRUE. В противном случае возвращается значение FALSE. Для Windows 2000 и более поздних версий эта функция всегда возвращает значение FALSE.

Комментарии

Драйвер удаленного управления может вызвать EngSetPointerTag , чтобы пометить фигуру указателя для обозначения элемента управления системой. После установки тега драйвером удаленного управления GDI автоматически композит его со всеми фигурами указателей, созданными системой, пока драйвер не удалит или не изменит тег.

Драйвер, вызывающий EngSetPointerShape , никогда не получает собственный тег, применяемый к собственным вызовам DrvSetPointerShape по GDI; тег применяется только к другим драйверам в зеркальной системе.

Если psoColor имеет значение NULL, psoMask указывает на монохромную поверхность, которая в два раза выше ширины. Верхняя половина содержит монохромную маску AND, а нижняя — монохромную маску XOR.

Если psoColor не имеет значение NULL, psoMask содержит только монохромную маску AND, а psoColor содержит цветную поверхность XOR. Эта цветовая поверхность должна иметь тот же формат цвета, что и драйвер. GDI объединяет фигуры, закрепляя верхние левые углы каждого растрового изображения.

GDI создает копии psoMask и psoColor, поэтому поверхности, передаваемые драйвером, могут быть удалены сразу после вызова EngSetPointerTag.

Результаты EngSetPointerTag вступают в силу при следующем вызове фигуры указателя, созданном системой.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях операционных систем Windows.
Целевая платформа Универсальное
Верхняя часть winddi.h (включая Winddi.h)
Библиотека Win32k.lib
DLL Win32k.sys

См. также раздел

DrvSetPointerShape

EngSetPointerShape

SURFOBJ