KMDF (其他規則集)
使用這些規則來確認您的驅動程式已正確遵循一組一般需求,以正確處理裝置物件、密鑰,以及驅動程式不會呼叫不適合非 PnP 驅動程式的 DIS,或不是電源原則擁有者的非 FDO 驅動程式。
本節內容
主題 | 描述 |
---|---|
AccessHardwareKey 規則會指定總線驅動程式不應該嘗試從 EvtChildListCreateDevice 存取子裝置的硬體密鑰。 |
|
AddPdotoStaticChildlist 規則會指定 PDO 裝置的架構函式 WdfFdoAddStaticChild 必須在驅動程式呼叫 WdfPdoInitAllocate 且 WdfDeviceCreate 成功之後呼叫。 |
|
ChildListConfiguration 規則會指定支援動態列舉的驅動程序必須先呼叫 WdfFdoInitSetDefaultChildListConfig,才能呼叫 WdfDeviceCreate 函式。 |
|
Cleanup4CtlDeviceRegistered 規則會指定如果 隨插即用 (PnP) 驅動程式呼叫控件裝置物件的 WdfDeviceCreate,驅動程式必須註冊其中一個必要的事件回呼函式。 |
|
NonFDONotPowerPolicyOwnerAPI 規則會指定,如果非 FDO 驅動程式不是電源原則擁有者,則無法呼叫特定 DIS。 |
|
NonPnPDrvPowerPolicyOwnerAPI 規則指定非 PnP 驅動程式無法呼叫與電源管理相關的特定 DIS。 |
|
UnSafeAllocatePool 規則是重要的安全性規則,會檢查驅動程式是否未使用已被取代的 DIS 來配置記憶體。 |
若要選取 [其他規則集]
在 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) 。