我正在尝试将当前的XPDM镜像驱动程序移植到Windows 8.Microsoft
在Windows 8下完全禁用镜像驱动程序,但在MSDN上它说
基于镜像驱动程序体系结构的远程显示驱动程序模型也可以从Windows 8开始运行.有关详细信息,请参阅远程显示驱动程序.
并在远程显示驱动程序页面上,它说:
远程显示驱动程序基于Windows 2000镜像驱动程序模型,用于在远程会话中呈现桌面.
但是,我可以在网站上找到"远程显示驱动程序"的更多信息,除了这个和MSDN上的这个链接.我唯一的信息是它基于Win2K镜像驱动程序模型,但我不知道应该做些什么来使它与Windows 8兼容.
我试图将XPDM镜像驱动程序代码库移植到Visual Studio 2012中,并且我使用了相同的inf文件.代码可以在Windows 8上成功编译和部署,但内核不会加载显示驱动程序.
显示驱动程序名为accdrv.dll,微型端口驱动程序为mirror.sys.调试内核时,只加载mirror.sys.
有没有可以找到"远程显示驱动程序"信息的地方?所以我可以继续这项工作吗?
我正在编写一个钩子 dll,它处理窗口绘制消息。
我发现对于Vista及以上版本,hook dll会收到一些未知的消息id,特别是0x90 ~ 0x95。
我做了一些谷歌搜索,发现了一个msdn 链接和this,它告诉我它们是什么消息:
#define WM_UAHDESTROYWINDOW 0x0090
#define WM_UAHDRAWMENU 0x0091
#define WM_UAHDRAWMENUITEM 0x0092
#define WM_UAHINITMENU 0x0093
#define WM_UAHMEASUREMENUITEM 0x0094
#define WM_UAHNCPAINTMENUPOPUP 0x0095
Run Code Online (Sandbox Code Playgroud)
但我在任何头文件中都找不到宏的定义WM_UAHDRAWMENUITEM,编译器抱怨“未定义的符号”。我对“WM_UAHDRAWMENUITEM”进行了全局搜索,但什么也没找到。
目前我正在使用 0x92 来处理此消息。
我的问题是:如何用 Windows 定义的宏很好地替换硬编码的 0x92?