VC2003 的 DDK 项目向导
适用于 VC2003 的 DDK 项目向导。
引言
我过去用命令行编译 DDK 驱动程序,但一直不习惯。所以我心想,为什么不编写一个向导来完成这个任务呢?
于是我做了,并且可以编译 DDK 的示例,甚至 WinpCap 的 NDIS 驱动程序。
背景
我借鉴了 QuickSYS 的一些文件,非常感谢作者。
使用代码
首先,您可能需要安装 DDK。此向导依赖于环境变量 "ddkroot"。 如果您想构建 NDIS 驱动程序,请将 NDIS.lib 添加到您的项目中。
对于常规使用,只需创建一个新项目,选择“DDK 向导”,然后按“完成”按钮,一切就都好了。
如果您想编译 DDK 的示例,可以参考示例目录中的一个名为“sources”的文件。其中定义了一些宏。
例如,您可能想编译 DDK 的 Passthru 示例
- 使用此向导创建一个新项目,然后删除向导创建的 c 和 h 文件,因为我们现在不需要它们。
- 将文件 (*.c, *.h, *.rc) 从 ntddk\src\network\ndis\passthru 复制到项目目录。
- 将这些文件添加到项目中。
- “sources”文件如下所示
//... TARGETNAME=PASSTHRU TARGETPATH=obj TARGETTYPE=DRIVER TARGETLIBS=$(DDK_LIB_PATH)\ndis.lib C_DEFINES=$(C_DEFINES) -DNDIS40 -DNDIS_MINIPORT_DRIVER -DNDIS40_MINIPORT INCLUDES=..\..\inc SOURCES= passthru.c \ protocol.c \ miniport.c \ passthru.rc //...
那么现在你知道接下来该怎么做了吗?
将 NDIS.LIB 添加到您的项目中,并将 NDIS40、NDIS_MINIPORT_DRIVER、NDIS40_MINIPORT 添加到预编译宏中。然后构建调试和发布版本,除了某些警告外,您将获得成功。
关注点
这是我的第一个 DDK 向导,而且 DDK 对我来说很难掌握。所以这个向导可能不会很好。 我在 WIN2K DDK 中测试了所有内容。 如果我有足够的时间,我会编写一个 NDIS 项目向导。 可能会支持网卡、IM、TDI 等。
最后,对我的拙劣英语表示歉意。
历史
11-07-2003 - 向导脚本现在可以运行了。