如果你是为不同版本的 Windows 提供不同驱动程序二进制文件的硬件供应商,则可以使用POOL_NX_OPTIN_AUTO选择加入机制。 此移植助手为 Windows 8 和驱动程序支持的每个早期版本的 Windows 生成单独的驱动程序二进制文件。
若要使用此选择加入机制,请为所有想要选择加入的源文件定义 POOL_NX_OPTIN_AUTO=1。 为此,请在驱动程序项目的相应属性页中包含以下预处理器定义:
C_DEFINES=$(C_DEFINES) -DPOOL_NX_OPTIN_AUTO=1
对于大多数驱动程序,此定义足以使选择加入机制为每个支持的 Windows 版本创建不同的二进制文件。
实现细节
POOL_NX_OPTIN_AUTO定义将 NonPagedPool 常量名称重新定义为 NonPagedPoolNx。 重新定义的池类型仍然是编译时常量。 将 NonPagedPool 实例 常量名称 转换为 nonPagedPoolNx 的宏还会将 NonPagedPoolCacheAligned 的实例转换为 NonPagedPoolNxCacheAligned。