创建新的软件驱动程序

在本主题中,我们介绍如何使用 Visual Studio 开始编写新的软件驱动程序。软件驱动程序不同于我们在其他主题中介绍的设备功能驱动程序、筛选器驱动程序以及文件系统驱动程序。有关软件驱动程序以及它们与其他类型的驱动程序的不同之处的详细信息,请参阅什么是驱动程序?选择驱动程序模型

开始时,首先要确定你的软件驱动程序适合哪个驱动程序模型。三个选项为内核模式驱动程序框架 (KMDF)、旧的 NT 驱动程序模型以及 Windows 驱动程序模型 (WDM)。要想在确定最适合你的模型时获得帮助,请参阅选择驱动程序模型

案例 1:你想使用 KMDF。

  1. 在 Visual Studio 的“文件”菜单中,选择“新建 | 项目”****。
  2. 在“新建项目”对话框的左侧窗格中,找到并选择 WDF。
  3. 在中间窗格中,选择“内核模式驱动程序 (KMDF)”****。
  4. 填写“名称”和“位置”****框,然后单击“确定”。有关详细信息,请参阅基于模板编写 KMDF 驱动程序注意  在创建新的 KMDF 驱动程序时,你必须选择一个长度不超过 32 个字符的驱动程序名称。此长度限制在 wdfglobals.h 中定义。  
  5. 此时,你已拥有一个驱动程序项目,该项目实现大多数 KMDF 驱动程序所需的常规代码。现在,你可以提供特定于你的软件驱动程序的代码。

案例 2:你想使用旧的 NT 模型。

  1. 在 Visual Studio 的“文件”菜单中,选择“新建 | 项目”****。

  2. 在 Visual Studio 的“新建项目”对话框中,在“Windows 驱动程序”下,选择“WDM | 空的 WDM 驱动程序”****。

    注意  你将不编写 WDM 驱动程序,而是需要“空的 WDM 驱动程序”模板。

     

  3. 填写“名称”和“位置”框,然后单击“确定”

  4. 此时,你已拥有一个空的 WDM 驱动程序项目。在“解决方案资源管理器”窗口中,右键单击你的驱动程序项目,然后选择“添加 | 新项目”。

  5. 在“添加新项目”对话框中,选择“C++ 文件 (.cpp)”****,输入你的文件名,然后单击“确定”。

    注意  如果你想创建 .c 文件而不是 .cpp 文件,请输入扩展名为 .c 的名称。

     

  6. 包含 ntddk.h。

  7. 实现你的软件驱动程序所需的功能。当你实现和组织你的功能时,你可能会决定添加头文件以及其他 .cpp 或 .c 文件。

案例 3:你想使用 WDM。

你想对软件驱动程序使用 WDM,达成此目标的可能性非常小。但是,如果你想这样做,请按照以下步骤执行操作。

  1. 在 Visual Studio 的“文件”****菜单中,选择“新建 | 项目”。

  2. 在 Visual Studio 的“新建项目”对话框中,在“Windows 驱动程序”****下,选择 WDM。

  3. 填写“名称”和“位置”框,然后单击“确定”

  4. 此时,你已拥有一个空的 WDM 驱动程序项目。在“解决方案资源管理器”窗口中,右键单击你的驱动程序项目,然后选择“添加 | 新项目”。

  5. 在“添加新项目”对话框中,选择“C++ 文件 (.cpp)”****,输入你的文件名,然后单击“确定”。

    注意  如果你想创建 .c 文件而不是 .cpp 文件,请输入扩展名为 .c 的名称。

     

  6. 包含 wdm.h。

  7. 实现你的软件驱动程序所需的功能。当你实现和组织你的功能时,你可能会决定添加头文件以及其他 .cpp 或 .c 文件。