裝置驅動程式介面 (DDI) 合規性檢查選項會判斷驅動程式是否正確與 Windows 作業系統核心互動。
注意 從 Windows 8 開始,此選項可供使用。 從 Windows 8.1 開始,您可以選取 [啟用 DDI 合規性檢查 (其他)] 選項來測試其他規則。
| DDI 合規性檢查 |
|---|
DDI 合規性檢查選項會套用靜 態驅動程式驗證器 用來確認驅動程式在函式所需的 IRQL 上進行函式呼叫的相同裝置驅動程式介面 (DDI) 使用規則,或正確取得和釋放微調鎖定。
當此選項處於作用中狀態,且驅動程式驗證器偵測到驅動程式違反其中一個 DDI 合規性規則時,驅動程式驗證器會發出錯誤檢查0xC4 (參數 1 等於特定合規性規則的識別碼) 。
當您選取 DDI 合規性檢查選項時,會包含下列規則。
GuardedRegions (從 Windows 8.1 開始)
IoSetCompletionExCompleteIrp (從 Windows 8.1 開始)
IrqlReturn (從 Windows 8.1 開始)
NdisOidComplete (從 Windows 8.1 開始)
NdisOidDoubleComplete (從 Windows 8.1 開始)
PnpRemove (從 Windows 8.1 開始)
RequestedPowerIrp (從 Windows 8.1 開始)
QueuedSpinLock (從 Windows 8.1 開始)
SpinLock (從 Windows 8.1 開始)
這兩個規則目前是選擇性的,但建議使用。
啟動 DDI 相符性檢查選項
您可以使用驅動程式驗證器管理員或 Verifier.exe 命令列來啟用一或多個驅動程式的 DDI 合規性檢查功能。 如需詳細資訊,請參閱 選取驅動程式驗證器選項。 您必須重新啟動電腦,才能啟用或停用 DDI 合規性檢查選項。 當您使用標準設定 (/standard) 時,會啟動 DDI 合規性檢查功能。
在命令行
在命令列上,DDI 合規性檢查會以 驗證器 /flags 0x00020000 (位 17) 表示。 若要啟用 DDI 合規性檢查,請使用 0x00020000 的旗標值,或將0x00020000新增至旗標值。 例如:
verifier /flags 0x00020000 /driver MyDriver.sys下一次開機之後,此功能將會處於作用中狀態。
使用驅動程式驗證器管理員
- 啟動驅動程式驗證器管理員。 在命令提示字元視窗中輸入 驗證程式。
- 選取 [建立自定義設定] (適用於程式代碼開發人員), 然後按 [ 下一步]。
- 選擇 從完整清單中選取個別設定。
- 請選擇(勾選)DDI 合規性檢查。
- 重新啟動電腦
| DDI 合規性檢查 (額外) |
|---|
從 Windows 8.1 開始, DDI 合規性檢查 (其他) 選項 選項會提供其他規則,以判斷驅動程式是否正確與 Windows 作業系統核心互動。 當您選取 DDI 合規性檢查 (其他) 選項時,會測試下列規則:
啟動 DDI 符合性檢查(附加)選項
備註
從 Windows 10 Build 19042 及更高版本開始,此檢查已被取代
您可以使用驅動程式驗證器管理員或 Verifier.exe 命令列來啟用一或多個驅動程式的 DDI 合規性檢查 (其他) 規則。 如需詳細資訊,請參閱 選取驅動程式驗證器選項。 您必須重新啟動電腦,才能啟用或停用 DDI 相符性檢查 (其他) 選項。
在命令行
在命令列上,DDI 合規性檢查會以 驗證器 /flags 0x00080000 (位 19) 表示。 若要啟用 DDI 合規性檢查 (其他),請使用 0x00080000 的旗標值,或將0x00080000新增至旗標值。 例如:
verifier /flags 0x00080000 /driver MyDriver.sys下一次開機之後,此功能將會處於作用中狀態。
使用驅動程式驗證器管理員
- 若要啟動驅動程式驗證器管理員,請在命令提示字元視窗中輸入驗證 器 。
- 選取 [建立自定義設定] (適用於程式代碼開發人員), 然後按 [ 下一步]。
- 選擇 從完整清單中選取個別設定。
- 選取 DDI 合規性檢查(附加功能)。
- 重新啟動電腦
啟用 DDI 相容性檢查(附加的 IRQL)選項
您可以使用 Verifier.exe 命令列,為一或多個驅動程式啟用 DDI 合規性其他 IRQL 規則。 如需詳細資訊,請參閱 選取驅動程式驗證器選項。 您必須重新啟動電腦,才能啟用或停用 DDI 合規性其他 IRQL 規則。
在命令列上,DDI 合規性額外的 IRQL 檢查表示為規則類別值 35。 例如:
verifier /ruleclasses 35 /driver MyDriver.sys
或者
verifier /rc 35 /driver MyDriver.sys
其他 IRQL 規則集包含下列兩個規則。