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
设备的句柄。 此句柄是驱动程序作为 DrvCompletePDEV 的 hdev 参数接收的 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 调用;仅镜像系统中的其他驱动程序应用标记。
如果 psoColor 为 NULL, 则 psoMask 指向的单色表面,该图面的高度是宽度的两倍。 上半部分包含单色 AND 掩码,下半部分包含单色 XOR 掩码。
如果 psoColor 不为 NULL, 则 psoMask 仅包含单色 AND 掩码, psoColor 包含颜色 XOR 图面。 此颜色图面必须采用与驱动程序相同的颜色格式。 GDI 通过定位每个位图的左上角来联接形状。
GDI 会创建 psoMask 和 psoColor 的副本,因此在调用 EngSetPointerTag 后,可以立即删除驱动程序传入的图面。
EngSetPointerTag 的结果在系统生成的下一个指针形状调用上生效。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Windows 2000 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 通用 |
标头 | winddi.h (包括 Winddi.h) |
Library | Win32k.lib |
DLL | Win32k.sys |