共用方式為


其他規則集 (WDM)

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

本節中

主題 說明

#B0 #A1 新增裝置 #A2 #C3

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

DhanglingDeviceObject參考

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

PnpSameDeviceObject

PnpSameDeviceObject 規則會指定驅動程式會呼叫 IoAttachDeviceToDeviceStack,並具有有效目標裝置物件的指標。

TargetRelationNeedsRef

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

UnSafeAllocatePool

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

ZwRegistryCreate

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

ZwRegistryOpen

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

選取 [雜項] 規則集

  1. 在 Visual Studio Microsoft中選取您的驅動程式專案 (.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)