其他規則集 (WDM)
使用這些規則來確認您的驅動程式已正確遵循一組一般需求,以正確處理登錄機碼、字串和裝置物件指標。
本節內容
主題 | 描述 |
---|---|
AddDevice 規則指定驅動程式的 AddDevice 例程只有在呼叫 IoCreateDevice 之後,才會呼叫 IoAttachDeviceToDeviceStack。 |
|
DanglingDeviceObjectReference 規則會指定驅動程式使用 IoGetAttachedDeviceReference 傳回的相同裝置對象指標呼叫 ObDereferenceObject。 |
|
PnpSameDeviceObject 規則會指定驅動程式使用有效目標裝置物件的指標呼叫 IoAttachDeviceToDeviceStack。 |
|
TargetRelationNeedsRef 規則會指定處理 TargetDeviceRelation 查詢時,驅動程式的 DispatchPnP 例程會呼叫下列其中一個函式來參考子裝置的 PDO: |
|
UnSafeAllocatePool 是一個重要的安全性規則,會檢查驅動程式是否未使用已被取代的 DIS 來配置記憶體。 |
|
ZwRegistryCreate 規則會指定在呼叫 ZwCreateKey 之後,驅動程式只能呼叫下列登錄函式,同時保留開啟的登錄機碼 (,也就是在任何對 ZwClose 或 ZwDeleteKey 的呼叫之前,關閉或刪除登錄機碼的句柄) : |
|
ZwRegistryOpen 規則會指定在呼叫 ZwOpenKey 之後,驅動程式只會在對登錄機 (碼保留開啟句柄時呼叫下列登錄函式,也就是呼叫 ZwClose 或 ZwDeleteKey) : |
若要選取 [其他規則集]
在 Microsoft Visual Studio 中選取驅動程式項目 (.vcxProj) 。 從 [ 驅動程式 ] 功能表中,按兩下 [ 啟動靜態驅動程序驗證程式...]。
按兩下 [ 規則] 索引標籤 。在 [規則集] 底下,選取 [其他]。
若要從 Visual Studio 開發人員命令提示字元視窗中選取預設規則集,請使用 /check 選項指定 Miscellaneous.sdv。 例如:
msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
如需詳細資訊,請參閱 使用靜態驅動程式驗證器在驅動程式 和 靜態驅動程式驗證器命令 中尋找瑕疵 (MSBuild) 。