C++ 为Windows 7编译Windows 8微筛选器驱动程序
是否可以编译Windows7的MSDN示例中给出的代码?因为它的目标客户端是Windows8。我正在将Visual Studio 2013与WDK 8.1一起使用,示例项目在配置管理器中没有Win7调试/发布。如果可能的话,怎么做?请指导我。我必须做类似的事情(必须为win 7 x64构建更改微过滤器驱动程序)。我刚刚从minispy fs minifilter驱动程序的项目文件中复制了设置,该驱动程序具有正常工作的win7配置。因此,您需要做的是:C++ 为Windows 7编译Windows 8微筛选器驱动程序,c++,visual-studio-2013,driver,wdk,minifilter,C++,Visual Studio 2013,Driver,Wdk,Minifilter,是否可以编译Windows7的MSDN示例中给出的代码?因为它的目标客户端是Windows8。我正在将Visual Studio 2013与WDK 8.1一起使用,示例项目在配置管理器中没有Win7调试/发布。如果可能的话,怎么做?请指导我。我必须做类似的事情(必须为win 7 x64构建更改微过滤器驱动程序)。我刚刚从minispy fs minifilter驱动程序的项目文件中复制了设置,该驱动程序具有正常工作的win7配置。因此,您需要做的是: 在配置管理器中添加名为“Win7调试”的新
- 在配置管理器中添加名为“Win7调试”的新配置。保存并关闭
- 在记事本 中打开AVSCAN MimIFILTER C++项目
- 覆盖项目文件中的这些部分:
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'" Label="Configuration"> <TargetVersion>Win7</TargetVersion> <UseDebugLibraries>True</UseDebugLibraries> <DriverType>WDM</DriverType> <PlatformToolset>WindowsKernelModeDriver8.1</PlatformToolset> <ConfigurationType>Driver</ConfigurationType> </PropertyGroup> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Win7 Debug|x64'"> <Link> <AdditionalOptions>%(AdditionalOptions) /map</AdditionalOptions> <AdditionalDependencies>%(AdditionalDependencies);$(DDK_LIB_PATH)\fltMgr.lib</AdditionalDependencies> </Link> <ClCompile> <TreatWarningAsError>true</TreatWarningAsError> <WarningLevel>Level4</WarningLevel> <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc</AdditionalIncludeDirectories> <PreprocessorDefinitions>%(PreprocessorDefinitions);_WIN2K_COMPAT_SLIST_USAGE</PreprocessorDefinitions> <ExceptionHandling> </ExceptionHandling> </ClCompile> <ResourceCompile> <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc</AdditionalIncludeDirectories> <PreprocessorDefinitions>%(PreprocessorDefinitions);_WIN2K_COMPAT_SLIST_USAGE</PreprocessorDefinitions> </ResourceCompile> <Midl> <AdditionalIncludeDirectories>%(AdditionalIncludeDirectories);..\inc</AdditionalIncludeDirectories> <PreprocessorDefinitions>%(PreprocessorDefinitions);_WIN2K_COMPAT_SLIST_USAGE</PreprocessorDefinitions> </Midl> </ItemDefinitionGroup>
Win7 真的 波分复用 WindowsKernelModelDriver8.1 司机 %(附加选项)/地图 %(额外依赖性)$(DDK_LIB_PATH)\fltMgr.LIB 真的 四级 %(额外包括董事会)\股份有限公司 %(预定义)_WIN2K兼容列表的使用 %(额外包括董事会)\股份有限公司 %(预定义)_WIN2K兼容列表的使用 %(额外包括董事会)\股份有限公司 %(预定义)_WIN2K兼容列表的使用
- 保存并关闭
- 在VS中打开并构建李>
- 对于Windows 7或其他版本的操作系统,不需要单独的二进制文件,只需满足一些条件
驱动程序二进制文件只是普通的可执行文件,就像DLL或EXE一样。他们有一个PE头IAT等
只要编译后的驱动程序不尝试调用该操作系统不支持的API,您就可以了。
对于这些API或函数,如果您运行的版本通过或支持它们,只需动态加载它们
所以,只需使用您计划支持的最低版本操作系统编译驱动程序,祝您好运
干杯,
Gabriel在进行了上述更改后,项目无法加载,可能您缺少了一个xml标记。你能打开项目文件并检查你是否真的丢失了一个吗?在上面的答案中,
标记缺失。我现在已经添加了。是的,我已经关闭了标签,但问题仍然存在,它无法加载项目