在 Windows 桌面应用程序 and/or 控制台应用程序中使用 Windows Driver 套件(特别是 wdm.h)功能

Using the Windows Driver Kit (wdm.h specifically) functions in a Windows Desktop Application and/or Console Application

我需要使用 Wdm.h header 文件中声明的 ZwSetValueKey() 函数作为 Windows Driver 工具包的一部分( WDK) 访问由内核模式创建的注册表项 driver 但 Visual Studio 不允许使用 WDK headers 因为它无法检测到所需的 header 文件包含时(通过参考错误消息指出 Wdm.h 无法打开)。

提前致谢。

包含 ZwXXXX 函数的 wdm.h 头文件不适合在内核模式下不 运行 的应用程序使用(如前所述 here)。另一方面,winternl.hNtdll.dll 中的等效 NtXXXX 函数可作为 Windows 应用程序 运行 本机系统服务例程的一部分使用。 ]在用户模式下。

在问题中列出的函数的上下文中,函数 NtSetValueKey() 可以用于其替代(如前所述 here)。