wdk - 如何在 WDK 中同时处理 winnt.h 和 ntstatus.h?
问题描述
我正在编译一个出错的程序,因为 winnt.h 和 ntstatus.h 都包含在 WDK 中。我用预处理编译到一个文件中,发现了这个:
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\um\\winnt.h"
和这个:
#line 1 "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\shared\\ntstatus.h"
这是我的包括:
#include <windows.h>
#include <winbase.h>
#include <winnt.h>
这是我得到的错误:
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\ntstatus.h(66,14): warning C4005: 'STATUS_WAIT_0': macro redefinition
1>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\winnt.h(2496): message : see previous definition of 'STATUS_WAIT_0'
我需要使用一个定义来告诉 VS 不要同时打开两者吗?
解决方案
我正在使用 dokan 库。我发现 dokan.h 包含 ntstatus.h 并且有一个名为 WIN32_NO_STATUS 的定义来处理它。
推荐阅读
- python - 如何使用 Entry 小部件来显示输出?
- excel - 使用 Application.GetOpenFilename 的默认文件选择
- php - 如何使用 cURL 将变量发送到另一个 php?
- rest - 在获取方法 REst Apex 服务 Json 响应中计数记录
- java - Android WorkManager PeriodicWorkRequest 问题 - 应用程序关闭后未运行
- javascript - 在 graphql-yoga 服务器中使用中间件
- docker - 来自守护进程的错误响应:open \\.\pipe\docker_engine_linux: 系统找不到指定的文件
- reactjs - 反应:OSX 上的格式脚本问题
- python-2.7 - 使用 python 2 在 azure devops workitem 中上传 CSV 文件
- python - 压缩数据