使用這些規則來確認您的驅動程式正確遵循一組一般需求,以正確處理裝置物件、金鑰,而且驅動程式不會呼叫不適合非 PnP 驅動程式或非電源原則擁有者的非 FDO 驅動程式的 DDI。
本節中
| 主題 | 說明 |
|---|---|
AccessHardwareKey 規則指定總線驅動程式不應該嘗試從 EvtChildListCreateDevice 存取子裝置的硬體密鑰。 |
|
AddPdotoStaticChildlist 規則會指定 PDO 裝置的架構函式 WdfFdoAddStaticChild 必須在驅動程式呼叫 WdfPdoInitAllocate 和 WdfDeviceCreate 成功之後呼叫。 |
|
ChildListConfiguration 規則指定支援動態列舉的驅動程序必須先呼叫 WdfFdoInitSetDefaultChildListConfig,才能呼叫 WdfDeviceCreate 函式。 |
|
Cleanup4CtlDeviceRegistered 規則會指定,如果隨插即用 (PnP) 驅動程式呼叫控制裝置物件的 WdfDeviceCreate,驅動程式必須註冊其中一個必要的事件回呼函式。 |
|
NonFDONotPowerPolicyOwnerAPI 規則會指定,如果非 FDO 驅動程式不是電源原則擁有者,則無法呼叫特定 DIS。 |
|
NonPnPDrvPowerPolicyOwnerAPI 規則指定非 PnP 驅動程式無法呼叫與電源管理相關的特定 DDIs。 |
|
UnSafeAllocatePool 規則是重要的安全性規則,會檢查驅動程式是否未使用已被取代的 DIS 來配置記憶體。 |
選取 [雜項] 規則集
在 Visual Studio Microsoft中選取您的驅動程式專案 (.vcxProj)。 從 驅動程式 選單中,點擊 啟動靜態驅動程式驗證程式…。
按一下 規則 索引標籤。在 [規則集] 底下,選取 [雜項]。
若要從 Visual Studio 開發人員命令提示字元視窗選取預設規則集,請使用 /check 選項指定 Miscellaneous.sdv。 例如:
msbuild /t:sdv /p:Inputs="/check:Miscellaneous.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵 和 靜態驅動程式驗證器命令(MSBuild)。