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

LINK : error LNK2001: unresolved external symbol NtProcessStartup

我是 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

但是,当我尝试创建 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

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

C:\Program Files (x86)\Windows Kits.0\Lib\win8\um\x64;C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib\amd64;C:\Program Files (x86)\Windows Kits.0\Lib\win8\km\x64;

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

NtProcessStartup 函数对于驱动程序开发而言就像 'main' 对于常规 C 程序一样。也就是说,就是你需要自己提供的程序入口函数。该功能的介绍和解释见文章here。您可以使用 -entry 链接器选项否决启动函数的名称。设置“-entry:DriverEntry”是驱动程序开发的常见做法。