共用方式為


KMDF (其他規則集)

使用這些規則來確認您的驅動程式已正確遵循一組一般需求,以正確處理裝置物件、密鑰,以及驅動程式不會呼叫不適合非 PnP 驅動程式的 DIS,或不是電源原則擁有者的非 FDO 驅動程式。

本節內容

主題 描述

AccessHardwareKey

AccessHardwareKey 規則會指定總線驅動程式不應該嘗試從 EvtChildListCreateDevice 存取子裝置的硬體密鑰。

AddPdotoStaticChildlist

AddPdotoStaticChildlist 規則會指定 PDO 裝置的架構函式 WdfFdoAddStaticChild 必須在驅動程式呼叫 WdfPdoInitAllocateWdfDeviceCreate 成功之後呼叫。

ChildListConfiguration

ChildListConfiguration 規則會指定支援動態列舉的驅動程序必須先呼叫 WdfFdoInitSetDefaultChildListConfig,才能呼叫 WdfDeviceCreate 函式。

Cleanup4CtlDeviceRegistered

Cleanup4CtlDeviceRegistered 規則會指定如果 隨插即用 (PnP) 驅動程式呼叫控件裝置物件的 WdfDeviceCreate,驅動程式必須註冊其中一個必要的事件回呼函式。

NonFDONotPowerPolicyOwnerAPI

NonFDONotPowerPolicyOwnerAPI 規則會指定,如果非 FDO 驅動程式不是電源原則擁有者,則無法呼叫特定 DIS。

NonPnPDrvPowerPolicyOwnerAPI

NonPnPDrvPowerPolicyOwnerAPI 規則指定非 PnP 驅動程式無法呼叫與電源管理相關的特定 DIS。

UnSafeAllocatePool

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

若要選取 [其他規則集]

  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)