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

设备的句柄。 此句柄是驱动程序作为 DrvCompletePDEVhdev 参数接收的 GDI 句柄。

[in] psoMask

指向描述标记的单色组件的 1bpp SURFOBJ 结构的指针。 此位图的尺寸决定了标记的大小。 标记大小没有隐式约束,但最佳标记大小为 32 x 32、48 x 48 和 64 x 64 像素。 当此值为 NULL 时,GDI 会删除当前标记。

[in] psoColor

指向与调用驱动程序具有相同颜色格式的 SURFOBJ 结构的指针。 如果标记不包含颜色分量,则此值可以为 NULL 。 颜色位图的宽度与 psoInputMask 相同,高度为一半。

[in] pxlo

保留供系统使用;必须设置为 NULL

[in] fl

保留供系统使用;必须设置为零。

返回值

成功应用标记后,EngSetPointerTag 将返回 TRUE。 否则,它将返回 FALSE。 对于 Windows 2000 及更高版本,此函数始终返回 FALSE

注解

远程控制驱动程序可以调用 EngSetPointerTag 来标记指针形状以表示系统的控制权。 远程控制驱动程序设置标记后,GDI 将自动使用系统生成的所有指针形状对其进行复合,直到驱动程序删除或更改标记。

调用 EngSetPointerShape 的 驱动程序永远不会通过 GDI 将自己的标记应用于其自己的 DrvSetPointerShape 调用;仅镜像系统中的其他驱动程序应用标记。

如果 psoColorNULL则 psoMask 指向的单色表面,该图面的高度是宽度的两倍。 上半部分包含单色 AND 掩码,下半部分包含单色 XOR 掩码。

如果 psoColor 不为 NULL则 psoMask 仅包含单色 AND 掩码, psoColor 包含颜色 XOR 图面。 此颜色图面必须采用与驱动程序相同的颜色格式。 GDI 通过定位每个位图的左上角来联接形状。

GDI 会创建 psoMaskpsoColor 的副本,因此在调用 EngSetPointerTag 后,可以立即删除驱动程序传入的图面。

EngSetPointerTag 的结果在系统生成的下一个指针形状调用上生效。

要求

要求
最低受支持的客户端 在 Windows 2000 及更高版本的 Windows 操作系统中可用。
目标平台 通用
标头 winddi.h (包括 Winddi.h)
Library Win32k.lib
DLL Win32k.sys

另请参阅

DrvSetPointerShape

EngSetPointerShape

SURFOBJ