建立新的篩選驅動程式
在本主題中,我們將說明如何使用 Visual Studio 開始撰寫新的篩選驅動程式。 篩選驅動程式與設備函式驅動程式、軟體驅動程式和檔案系統驅動程式不同,我們會在其他主題中討論。 若要瞭解篩選驅動程式及其與其他驅動程式類型有何不同,請參閱下列主題。
若要開始,請先判斷哪一個驅動程式模型適合您的篩選驅動程式。 如需判斷哪一個模型最適合您的協助,請參閱 選擇驅動程式模型。 如果您要撰寫硬體裝置的篩選驅動程式,請判斷您的裝置符合 裝置和驅動程式技術中所述的技術清單。 請參閱該特定技術的檔,以查看是否有任何選擇篩選驅動程式模型的指引。 建議的篩選驅動程式模型會從一項技術到下一項技術而有所不同。 針對某些技術,檔建議使用使用者模式驅動程式架構 (UMDF) 、核心模式驅動程式架構 (KMDF) ,或 Windows 驅動程式模型 (WDM) 。 針對其他技術,檔提供如何撰寫篩選驅動程式的明確詳細資料。 某些技術有迷你篩選模型。 對於某些技術,篩選驅動程式模型可能沒有任何建議。
接下來,判斷下列哪一個案例描述您的驅動程式模型建議,並遵循下列步驟:
案例 1:技術的檔建議 UMDF。
- 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案。
- 在 [新增專案] 對話方塊的左窗格中,找出並選取 [Visual C++] |Windows 驅動程式 |WDF。
- 在中間窗格中,選取 [ 使用者模式驅動程式] (UMDF) 。
- 填寫 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。 如需詳細資訊,請參閱 根據範本撰寫 UMDF 驅動程式。 注意 當您建立新的 UMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程式名稱。 此長度限制定義于 wdfglobals.h 中。
- 此時,您有一個驅動程式專案,可實作大部分 UMDF 驅動程式所需的一般程式碼。 現在,您可以提供篩選特有的程式碼。
案例 2:技術的檔建議 KMDF。
- 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案。
- 在 [新增專案] 對話方塊的左窗格中,找出並選取 [WDF]。
- 在中間窗格中,選取 [ 核心模式驅動程式 (KMDF) 。
- 填寫 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。 如需詳細資訊,請參閱 根據範本撰寫 KMDF 驅動程式。 注意 當您建立新的 KMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程式名稱。 此長度限制定義于 wdfglobals.h 中。
- 此時,您有一個驅動程式專案,可實作大部分 KMDF 驅動程式所需的一般程式碼。 現在,您可以提供篩選特有的程式碼。
案例 3:您技術的檔描述特定的篩選或迷你篩選模型。
如果您的裝置技術具有特定的篩選或迷你篩選模型,請檢查 Visual Studio 是否有模型的範本。
- 在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案。
- 在 [新增專案] 對話方塊的左窗格中,找出並選取 [範本] |Visual C++ |Windows 驅動程式。
- 流覽已安裝的範本清單,以查看是否需要撰寫篩選類型的範本。 例如,您可以選擇 [網路] 底下的[篩選驅動程式:NDIS] 範本。
- 如果 Windows 驅動程式底下的篩選驅動程式類型沒有範本,請選取 [ 線上 ],然後流覽線上可用的範本。
- 如果您找到篩選驅動程式類型的範本,請選取範本、填寫 [ 名稱 ] 和 [ 位置 ] 方塊,然後選取 [ 確定]。
- 此時,您有一個驅動程式專案,可實作篩選驅動程式所需的一般程式碼。 現在,您可以提供篩選特有的程式碼。 請參閱技術的檔,以瞭解您需要實作的函式。
如果您的裝置技術具有特定的篩選模型或迷你篩選模型,而且找不到篩選驅動程式類型的範本,請參閱您的技術特定檔,以取得判斷是否要使用 UMDF、KMDF 或 WDM 的指引。
案例 4:您技術的檔建議 WDM。
在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案。
在 Visual Studio 的 [新增專案] 對話方塊的 [Windows 驅動程式] 底下,選取 [WDM]。
填寫 [ 名稱 ] 和 [ 位置] 方塊,然後選取 [ 確定]。
此時,您有空的 WDM 驅動程式專案。 在 [方案總管] 視窗中,選取並按住 (或以滑鼠右鍵按一下驅動程式專案) ,然後選擇 [新增] |新增專案。
在 [新增專案] 對話方塊中,選取 [C++ 檔案] (.cpp) ,輸入檔案的名稱,然後選取 [ 確定]。
注意 如果您想要建立 .c 檔案,而不是 .cpp 檔案,請輸入副檔名為 .c 的名稱。
實作篩選所需的函式。 當您實作並組織函式時,您可能會決定新增其他 .cpp 或 .c 檔案。
案例 5:您技術的檔沒有篩選驅動程式模型的建議。
判斷 UMDF、KMDF 或 WDM 是否為篩選驅動程式的最佳模型。 如需說明,請參閱 選擇驅動程式模型。
在 Visual Studio 的 [ 檔案 ] 功能表上,選擇 [ 新增] |專案。
在 Visual Studio 的 [新增專案] 對話方塊的 [Windows 驅動程式] 底下,選取下列其中一個範本:
- WDF |使用者模式驅動程式 (UMDF)
- WDF |核心模式驅動程式 (KMDF)
- WDM |空核心驅動程式
注意 當您建立新的 KMDF 或 UMDF 驅動程式時,您必須選取具有 32 個字元或更少字元的驅動程式名稱。 此長度限制定義于 wdfglobals.h 中。
實作篩選所需的函式。 視需要建立新的 .c 或 .cpp 檔案。
如果您不確定要使用的範本,請考慮閱讀或張貼到 Windows 硬體 WDK 和驅動程式開發 論壇。