生成 BDA 驱动程序

注意从Windows 8开始,WDK 生成环境不再使用Build.exe。 请参阅 WDK 和 Visual Studio 生成环境。 以下讨论仅适用于使用 WDK Windows 7 或更早版本生成驱动程序时。

可以使用 Microsoft Windows 驱动程序工具包 (WDK) (BDA) 驱动程序生成广播驱动程序体系结构。 若要生成 BDA 驱动程序,请打开 WDK 生成环境窗口,切换到 WDK main源目录的相应 BDA 驱动程序源代码子目录,并使用生成命令。 生成命令获取有关如何从驻留在 BDA 驱动程序源代码子目录中的 Sources 文件生成 BDA 驱动程序的说明。

有关生成实用工具、WDK 的生成环境、控制生成实用工具的宏和环境变量以及生成 BDA 驱动程序所需的文件的详细信息,请参阅 Windows 7 WDK 文档中的“使用生成实用工具”和“生成实用工具参考” (内部版本 7600) 。

以下列表包含要用于 BDA Sources 文件的宏名称,并讨论了如何使用它们来生成 BDA 驱动程序:

TARGETNAME
设置为 BDA 驱动程序的名称,以便在 WDK 生成驱动程序时使用此名称生成它。 以下代码提供了一个示例:

TARGETNAME=BDAsampl  # WDK builds the driver as BDAsampl.sys

TARGETPATH
设置生成的驱动程序的目标目录。 请注意,根据生成环境是“free”还是“checked”,可以使用 BUILD_ALT_DIR 变量将“fre”或“chk”追加到生成命令在包含 Sources 文件的目录下创建的 \obj 子目录。 以下代码提供了一个示例:

TARGETPATH=obj$(BUILD_ALT_DIR) # built driver in \objfre or \objchk

TARGETTYPE
将要生成的文件类型设置为驱动程序 (,而不是程序或 DLL) ,如以下代码所示:

TARGETTYPE=DRIVER  # WDK builds the driver as *.sys

TARGETLIBS
指向 BDA 驱动程序的示例源必须链接到的库文件。 BDA 驱动程序必须至少链接到以下代码示例中显示的库:

TARGETLIBS=..\..\..\..\lib\ks.lib \
           ..\..\..\..\lib\ksguid.lib \
           ..\..\..\..\lib\BdaSup.lib

包括
指向路径列表,以搜索 BDA 驱动程序的示例源进行编译所需的头文件。 以下代码提供了一个示例:

INCLUDES=..\..\..\..\inc; \
    $(DDK_INC_PATH)\wdm; 

来源
指向必须编译才能生成驱动程序的源文件列表。 这些文件必须驻留在 Sources 文件所在的目录中。 以下代码提供了一个示例:

SOURCES= \
    ObjDesc.cpp     \
    inpin.cpp     \
    outpin.cpp    \
    Filter.cpp      \
    Device.cpp      \
    bdaguid.c       \
    BDAsampl.rc

DRIVERTYPE
将驱动程序的类型设置为 WDM,如以下代码所示:

DRIVERTYPE=WDM

USE_MAPSYM
生成 .sym 符号文件,以及 .pdb 符号文件。 这些文件将名称映射到地址。 若要在 Windows 98/Me 平台上进行调试,需要设置此宏。 设置此宏,如以下示例所示:

USE_MAPSYM=1