共用方式為


建立新的篩選驅動程式

在本主題中,我們將說明如何使用Visual Studio開始撰寫新的篩選驅動程式。 篩選驅動程式與設備函式驅動程式、軟體驅動程式和檔案系統驅動程式不同,我們在其他主題中涵蓋這些驅動程式。 若要了解篩選驅動程式,以及它們與其他類型的驅動程式有何不同,請參閱下列主題。

若要開始,請先判斷哪一個驅動程式模型適合您的篩選驅動程式。 如需判斷哪一個模型最適合您的協助,請參閱 選擇驅動程式模型。 如果您要為硬體裝置撰寫篩選驅動程式,請判斷您的裝置符合 裝置和驅動程式技術中所述的技術清單。 請參閱該特定技術的檔,以查看是否有任何選擇篩選驅動程式模型的指引。 建議的篩選驅動程式模型會因一種技術而異。 對於某些技術,文件建議使用使用者模式驅動程序架構 (UMDF)、核心模式驅動程序架構 (KMDF) 或 Windows 驅動程式模型 (WDM)。 對於其他技術,文件提供有關如何撰寫過濾驅動程式的明確詳細資訊。 某些技術有迷你篩選模型。 對於某些技術,篩選驅動程式模型可能沒有任何建議。

接下來,判斷下列哪一個案例描述您的驅動程式模型建議,並遵循下列步驟:

案例 1:您的技術文件建議使用 UMDF。

  1. 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案
  2. 在 [新增專案] 對話框的左窗格中,找出並選取 [Visual C++ |Windows 驅動程式 |WDF
  3. 在中間窗格中,選取 [使用者模式驅動程式] [UMDF]。
  4. 填入 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。 如需詳細資訊,請參閱 根據範本撰寫 UMDF 驅動程式注意 當您建立新的 UMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程式名稱。 此長度限制定義於 wdfglobals.h 中。
  5. 此時,您有一個驅動程序專案,可實作大部分 UMDF 驅動程式所需的一般程式代碼。 現在您可以提供篩選特有的程式代碼。

案例 2:您技術的文件中建議使用 KMDF。

  1. 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案
  2. 在 [新增專案] 對話框的左窗格中,找出並選取 [WDF]。
  3. 在中間窗格中,選取 [核心模式驅動程式] [KMDF]。
  4. 填入 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。 如需詳細資訊,請參閱 根據範本撰寫 KMDF 驅動程式注意 當您建立新的 KMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程序名稱。 此長度限制定義於 wdfglobals.h 中。
  5. 此時,您有一個驅動程序專案,可實作大部分 KMDF 驅動程式所需的一般程式代碼。 現在您可以提供篩選特有的程式代碼。

案例 3:技術的文件說明特定的篩選或迷你篩選模型。

如果您的裝置技術具有特定的篩選或迷你篩選模型,請檢查Visual Studio是否有模型的範本。

  1. 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案
  2. 在 [新增專案] 對話框的左窗格中,找出並選取 [範本] |Visual C++ |Windows 驅動程式
  3. 流覽已安裝範本清單,以查看是否有您需要撰寫的篩選器類型的範本。 例如,您可以選擇 [網络] 底下的 [篩選驅動程式:NDIS] 範本。
  4. 如果 Windows 驅動程式下沒有篩選驅動程式類型的範本,請選取 [ 在線 ] 並瀏覽在線可用的範本。
  5. 如果您找到篩選驅動程式類型的範本,請選取範本、填入 [ 名稱 ] 和 [ 位置 ] 方塊,然後選取 [ 確定]。
  6. 此時,您有一個驅動程序專案,可實作篩選驅動程式所需的一般程序代碼。 現在您可以提供篩選特有的程式代碼。 請參閱技術的檔,以瞭解您需要實作的函式。

如果您的裝置技術具有特定的篩選模型或迷你篩選模型,而且找不到篩選驅動程式類型的範本,請參閱您的技術特定檔,以取得判斷要使用UMDF、KMDF或WDM的指引。

案例 4:技術的文件建議 WDM。

  1. 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案

  2. 在 Visual Studio 的 [新增專案] 對話方塊的 [Windows 驅動程式] 底下,選取 [WDM]。

  3. 填入 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。

  4. 此時,您有空的 WDM 驅動程式專案。 在 [方案總管] 視窗中,選取並按住驅動程序專案(或以滑鼠右鍵按兩下),然後選擇 [ 新增] |新增專案

  5. 在 [新增專案] 對話框中,選取 [C++檔案] (.cpp),輸入檔案的名稱,然後選取 [ 確定]。

    注意 如果您想要建立 .c 檔案,而不是.cpp檔案,請輸入擴展名為 .c 的名稱。

  6. 實作篩選所需的函式。 當您實作及組織函式時,您可能會決定新增其他.cpp或 .c 檔案。

案例 5:您技術的說明文件沒有過濾驅動程式模型的建議。

  1. 判斷UMDF、KMDF 或 WDM 是否為篩選驅動程式的最佳模型。 如需協助,請參閱 選擇驅動程式模型

  2. 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案

  3. 在 Visual Studio 的 [新增專案] 對話方塊的 [Windows 驅動程式] 底下,選取下列其中一個範本:

    • WDF |使用者模式驅動程式 (UMDF)
    • WDF |核心模式驅動程式 (KMDF)
    • WDM |空核心驅動程式

    注意 當您建立新的 KMDF 或 UMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程式名稱。 此長度限制定義於 wdfglobals.h 中。

  4. 實現過濾器所需的函式。 視需要建立新的 .c 或.cpp檔案。

如果您不確定要使用的範本,請考慮閱讀或張貼到 Windows 硬體 WDK 和驅動程式開發 論壇。