链接:错误LNK2001:未解析的外部符号NtProcessStartup

use*_*167 3 c windows wdm minifilter

我是新的Windows驱动程序开发和微过滤器,我试图建立nullFilter使用命令行工具样本.所以我添加#pragma comment(lib, "FltMgr.lib")到.c文件并成功发出以下命令:

cl.exe /nologo /Fo../../bin\filter.obj /c filter.c /D _AMD64_
rc.exe /nologo /Fo../../bin\filter.res filter.rc
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试创建sys文件时:

link.exe /nologo /DRIVER:WDM /out:../../bin\filter.sys ../../bin\filter.obj ../../bin\filter.res
LINK : error LNK2001: unresolved external symbol NtProcessStartup
../../bin\filter.sys : fatal error LNK1120: 1 unresolved externals
Run Code Online (Sandbox Code Playgroud)

我正在使用VS2012 Express和WDM8.我的LIB环境变量是:

C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\um\x64;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64;C:\Program Files (x86)\Windows Kits\8.0\Lib\win8\km\x64;
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?我错过了什么吗?

Ton*_*oij 5

NtProcessStartup函数是驱动程序开发常规C程序的"主要".换句话说,它是您需要自己提供的程序输入功能.有关此功能的介绍和说明,请参阅此处的文章.您可以使用-entry链接器选项来否决启动函数的名称.设置'-entry:DriverEntry'是驱动程序开发的常见做法.