共用方式為


其他規則集 (WDM)

使用這些規則來確認您的驅動程式已正確遵循一組一般需求,以正確處理登錄機碼、字串和裝置物件指標。

本節內容

主題 描述

AddDevice

AddDevice 規則指定驅動程式的 AddDevice 例程只有在呼叫 IoCreateDevice 之後,才會呼叫 IoAttachDeviceToDeviceStack

DanglingDeviceObjectReference

DanglingDeviceObjectReference 規則會指定驅動程式使用 IoGetAttachedDeviceReference 傳回的相同裝置對象指標呼叫 ObDereferenceObject

PnpSameDeviceObject

PnpSameDeviceObject 規則會指定驅動程式使用有效目標裝置物件的指標呼叫 IoAttachDeviceToDeviceStack

TargetRelationNeedsRef

TargetRelationNeedsRef 規則會指定處理 TargetDeviceRelation 查詢時,驅動程式的 DispatchPnP 例程會呼叫下列其中一個函式來參考子裝置的 PDO:

UnSafeAllocatePool

UnSafeAllocatePool 是一個重要的安全性規則,會檢查驅動程式是否未使用已被取代的 DIS 來配置記憶體。

ZwRegistryCreate

ZwRegistryCreate 規則會指定在呼叫 ZwCreateKey 之後,驅動程式只能呼叫下列登錄函式,同時保留開啟的登錄機碼 (,也就是在任何對 ZwCloseZwDeleteKey 的呼叫之前,關閉或刪除登錄機碼的句柄) :

ZwRegistryOpen

ZwRegistryOpen 規則會指定在呼叫 ZwOpenKey 之後,驅動程式只會在對登錄機 (碼保留開啟句柄時呼叫下列登錄函式,也就是呼叫 ZwCloseZwDeleteKey) :

若要選取 [其他規則集]

  1. 在 Microsoft Visual Studio 中選取驅動程式項目 (.vcxProj) 。 從 [ 驅動程式 ] 功能表中,按兩下 [ 啟動靜態驅動程序驗證程式...]。

  2. 按兩下 [ 規則] 索引標籤 。在 [規則集] 底下,選取 [其他]。

    若要從 Visual Studio 開發人員命令提示字元視窗中選取預設規則集,請使用 /check 選項指定 Miscellaneous.sdv。 例如:

    msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
    

    如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式靜態驅動程式驗證器命令 中尋找瑕疵 (MSBuild) 。