Windows 驱动程序工具包中的头文件
2017-01-03 00:02
27 查看
MSDN原文:https://msdn.microsoft.com/zh-cn/library/windows/hardware/ff554695(v=vs.85).aspx
Windows 驱动程序工具包 (WDK) 包含构建内核模式和用户模式驱动程序所需的所有头文件(.h 文件)。头文件在 WDK 安装文件夹中的 Include 文件夹中。示例:C:\Program Files (x86)\Windows Kits\10\Include。
头文件包含版本信息,因此不论驱动程序在哪个版本的 Windows 上运行,你都可以使用一组相同的头文件。
若要指定编程元素在每个操作系统版本中都可用,头文件包含的预处理器条件将 NTDDI_VERSION 的值与 Sdkddkver.h 中定义的一组预定义常量值相比较。
以下是表示 Microsoft Windows 操作系统版本的预定义常量值。
你可以在 WDK 头文件中看到特定于版本的 DDI 元素的多个示例。此条件声明出现在 Wdm.h 中,该文件为可能由内核模式驱动程序包含的头文件。
在该示例中,你可以看到仅在 Windows 7 和更高版本的 Windows 中才提供 KeSetTargetProcessorDpcEx 函数。
此条件声明出现在 Winspool.h 中,该文件为可能由用户模式驱动程序包含的头文件。
C++
在该示例中,你可以看到仅在 Windows 7 和更高版本的 Windows 中才提供 GetPrintExecutionData 函数。
Windows 驱动程序工具包 (WDK) 包含构建内核模式和用户模式驱动程序所需的所有头文件(.h 文件)。头文件在 WDK 安装文件夹中的 Include 文件夹中。示例:C:\Program Files (x86)\Windows Kits\10\Include。
头文件包含版本信息,因此不论驱动程序在哪个版本的 Windows 上运行,你都可以使用一组相同的头文件。
表示 Windows 版本的常量
WDK 中的头文件包含的条件语句指定编程元素仅在某些版本的 Windows 操作系统中才可用。进行版本管理的元素包括函数、枚举、结构以及结构成员。若要指定编程元素在每个操作系统版本中都可用,头文件包含的预处理器条件将 NTDDI_VERSION 的值与 Sdkddkver.h 中定义的一组预定义常量值相比较。
以下是表示 Microsoft Windows 操作系统版本的预定义常量值。
常量 | 操作系统版本 |
---|---|
NTDDI_WIN10 | Windows 10 |
NTDDI_WINBLUE | Windows 8.1 |
NTDDI_WIN8 | Windows 8 |
NTDDI_WIN7 | Windows 7 |
NTDDI_WS08SP4 | Windows Server 2008 SP4 |
NTDDI_WS08SP3 | Windows Server 2008 SP3 |
NTDDI_WS08SP2 | Windows Server 2008 SP2 |
NTDDI_WS08 | Windows Server 2008 |
#if (NTDDI_VERSION >= NTDDI_WIN7) _Must_inspect_result_ NTKERNELAPI NTSTATUS KeSetTargetProcessorDpcEx ( _Inout_ PKDPC Dpc, _In_ PPROCESSOR_NUMBER ProcNumber ); #endif
在该示例中,你可以看到仅在 Windows 7 和更高版本的 Windows 中才提供 KeSetTargetProcessorDpcEx 函数。
此条件声明出现在 Winspool.h 中,该文件为可能由用户模式驱动程序包含的头文件。
C++
#if (NTDDI_VERSION >= NTDDI_WIN7) ... BOOL WINAPI GetPrintExecutionData( _Out_ PRINT_EXECUTION_DATA *pData ); #endif // (NTDDI_VERSION >= NTDDI_WIN7)
在该示例中,你可以看到仅在 Windows 7 和更高版本的 Windows 中才提供 GetPrintExecutionData 函数。
用于内核模式驱动程序框架的头文件
WDK 支持多种版本的 Windows,并且它还支持多种版本的内核模式驱动程序框架 (KMDF) 和用户模式驱动程序框架 (UMDF)。WDK 头文件中的版本信息与 Windows 版本有关,但与 KMDF 或 UMDF 版本无关。用于不同版本的 KMDF 和 UMDF 的头文件放置在不同的目录中。相关文章推荐
- 如何编写Windows CE.net的usb驱动程序(2)
- Windows驱动开发(1) - 驱动程序结构
- windows下的驱动程序编写学习日志(一)
- windows WAIK工具给系统集成驱动程序具体操作步骤
- 64 位 Microsoft Windows 驱动程序清单
- 使用WinDbg内核调试 分类: windows驱动程序WDM 2013-09-25 14:43 493人阅读 评论(0) 收藏
- Windows与Linux系统如何基于Python安装连接MySQL数据库的工具包PyMySQL
- Windows 驱动程序设计(二)
- Windows 2000 工具包中的 REG.EXE 中文说明
- WINDOWS的错误代码对应的故障 分类: windows驱动程序WDM 2015-04-15 15:15 341人阅读 评论(0) 收藏
- Windows文件系统的过滤器驱动程序设计
- 基于WDF的PCI/PCIe接口卡Windows驱动程序(3)- 驱动程序代码(头文件)
- NT式驱动程序都需要包含的头文件
- Windows驱动程序运行上下文简要分析
- Windows下使用MATLAB时几个Perl工具包的安装(XML::Twig,XML::Parser,Math::Polygon::Calc,Tie::IxHash)
- 如何编写Windows CE.net的usb驱动程序
- windows驱动程序开发2 绑定串口设备的关键代码;
- 如何取得Windows驱动程序的数字签名? 如何通过WHQL认证?
- 一种基于主板BIOS的身份认证方案及实现 分类: arm-linux-Ubuntu windows驱动程序WDF 2015-05-11 11:02 372人阅读 评论(1) 收藏
- win7平台批处理方式修改windows驱动程序安装搜索策略