建立新的篩選驅動程式

在本主題中,我們將說明如何使用 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 和驅動程式開發 論壇。