電腦藍(lán)屏提示代碼DRIVER_VERIFIER_DETECTED_VIOLATION怎么辦
藍(lán)屏代碼0x000000C4代表"DRIVER_VERIFIER_DETECTED_VIOLATION",這意味著Windows驅(qū)動(dòng)程序驗(yàn)證器檢測(cè)到了一個(gè)違規(guī)情況導(dǎo)致系統(tǒng)崩潰。驅(qū)動(dòng)程序驗(yàn)證器是Windows中的一個(gè)工具,用于檢測(cè)和識(shí)別驅(qū)動(dòng)程序中的錯(cuò)誤或問(wèn)題。當(dāng)發(fā)現(xiàn)一個(gè)被驗(yàn)證的驅(qū)動(dòng)程序在執(zhí)行期間出現(xiàn)問(wèn)題時(shí),系統(tǒng)會(huì)產(chǎn)生此錯(cuò)誤代碼的藍(lán)屏。

快快藍(lán)屏修復(fù)助手可以幫你修復(fù)各類藍(lán)屏異常和錯(cuò)誤問(wèn)題,能快速檢測(cè)軟件、硬件和驅(qū)動(dòng)故障。分析藍(lán)屏日志。
要解決這個(gè)問(wèn)題,可以嘗試以下方法:
方法一:檢查硬件兼容性
藍(lán)屏錯(cuò)誤可能是由于硬件與驅(qū)動(dòng)程序不兼容而引起的,你可以查看硬件制造商的官方網(wǎng)站,以確保硬件兼容性,并下載適用于你的操作系統(tǒng)的驅(qū)動(dòng)程序。
方法二:檢查硬件故障
有時(shí)候藍(lán)屏錯(cuò)誤也可能是由于硬件故障引起的,您可以嘗試檢查和重新連接計(jì)算機(jī)中的硬件設(shè)備,如內(nèi)存條、硬盤等,或者運(yùn)行Windows自帶的硬件診斷工具來(lái)檢測(cè)是否存在硬件問(wèn)題。
方法三:執(zhí)行系統(tǒng)還原
如果您在遇到該錯(cuò)誤之前進(jìn)行了系統(tǒng)更改或驅(qū)動(dòng)程序更新,您可以嘗試使用系統(tǒng)還原將計(jì)算機(jī)恢復(fù)到先前的工作狀態(tài)。
方法四:使用一鍵修復(fù)工具助手(強(qiáng)烈推薦)
1、首先你的電腦必須下載與完成安裝完成快快藍(lán)屏修復(fù)助手。如果你還沒(méi)有安裝點(diǎn)擊下方鏈接下載。
下載地址:>>>快快藍(lán)屏修復(fù)助手<<<
提示:安裝路徑不要選擇C盤,避免產(chǎn)生問(wèn)題造成損失。
2、找到你電腦中的快快藍(lán)屏修復(fù)助手,點(diǎn)擊進(jìn)入。看到首頁(yè)后,點(diǎn)擊首頁(yè)一鍵掃描按鈕開始掃描。等待幾分鐘,就能獲取你急切想要的結(jié)果。
3、掃描完成后會(huì)顯示電腦的所有藍(lán)屏記錄以及藍(lán)屏的詳細(xì)信息。
4、解決方案頁(yè)面顯示了導(dǎo)致該次藍(lán)屏的具體原因和解決方案,點(diǎn)擊右上角的一鍵修復(fù)進(jìn)行修復(fù)。
5、切記,當(dāng)修復(fù)完成之后我們還是需要重新啟動(dòng)計(jì)算機(jī)的。畢竟一切修復(fù)的結(jié)果,需要重新后,才能被系統(tǒng)認(rèn)可。
當(dāng)你完成重啟后,你電腦的藍(lán)屏問(wèn)題已經(jīng)基本解決了。相信小編,不要急需卸載快快藍(lán)屏修復(fù)助手。畢竟它強(qiáng)大的功能是你未來(lái)的一個(gè)保障,可以隨時(shí)隨地為你服務(wù),讓你再次遇到藍(lán)屏問(wèn)題不在抓狂。
其他相關(guān)信息:
DRIVER_VERIFIER_DETECTED_VIOLATION bug 檢查 的值為 0x000000C4。 這是驅(qū)動(dòng)程序驗(yàn)證程序發(fā)現(xiàn)的嚴(yán)重錯(cuò)誤的常規(guī) bug 檢查代碼。 有關(guān)詳細(xì)信息,請(qǐng)參閱 啟用驅(qū)動(dòng)程序驗(yàn)證程序時(shí)處理 Bug 檢查。
DRIVER_VERIFIER_DETECTED_VIOLATION參數(shù)
參數(shù) 1 標(biāo)識(shí)沖突的類型。 其余參數(shù)的含義因參數(shù) 1 的值而異。 下表描述了參數(shù)值。
注意 如果在查看此表中的所有 5 列時(shí)遇到問(wèn)題,請(qǐng)嘗試以下操作:
將瀏覽器窗口擴(kuò)展到完整大小。 將光標(biāo)置于表格中,并使用箭頭鍵向左和向右滾動(dòng)。0x00 0x70
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x00 | 當(dāng)前 IRQL | 池類型 | 字節(jié)數(shù) | 驅(qū)動(dòng)程序請(qǐng)求了零字節(jié)池分配。 |
0x01 | 當(dāng)前 IRQL | 池類型 | 分配大?。ㄒ宰止?jié)為單位) | 驅(qū)動(dòng)程序嘗試使用 IRQL > APC_LEVEL分配分頁(yè)內(nèi)存。 |
0x02 | 當(dāng)前 IRQL | 池類型 | 分配大?。ㄒ宰止?jié)為單位) | 驅(qū)動(dòng)程序嘗試使用 IRQL > DISPATCH_LEVEL分配非分頁(yè)內(nèi)存。 |
0x03 | 調(diào)用方正在嘗試分配多個(gè)必須成功池的頁(yè)面,但一個(gè)頁(yè)面是此 API 允許的最大頁(yè)數(shù)。 | |||
0x10 | 錯(cuò)誤地址 | 0 | 0 | 驅(qū)動(dòng)程序嘗試釋放未從分配調(diào)用返回的地址。 |
0x11 | 當(dāng)前 IRQL | 池類型 | 池的地址 | 驅(qū)動(dòng)程序嘗試使用 IRQL > APC_LEVEL釋放分頁(yè)池。 |
0x12 | 當(dāng)前 IRQL | 池類型 | 池的地址 | 驅(qū)動(dòng)程序嘗試使用 IRQL > DISPATCH_LEVEL釋放非分頁(yè)池。 |
0x13 或 0x14 | 保留 | 指向池標(biāo)頭的指針 | 池標(biāo)頭內(nèi)容 | 驅(qū)動(dòng)程序嘗試釋放已釋放的內(nèi)存池。 |
0x15 | 計(jì)時(shí)器條目 | 池類型 | 正在釋放的池地址 | 調(diào)用方嘗試釋放的池包含活動(dòng)計(jì)時(shí)器。 |
0x16 | 保留 | 池地址 | 0 | 驅(qū)動(dòng)程序嘗試釋放錯(cuò)誤地址處的池,或驅(qū)動(dòng)程序?qū)o(wú)效參數(shù)傳遞給內(nèi)存例程。 |
0X17 | 資源條目 | 池類型 | 正在釋放的池地址 | 調(diào)用方嘗試釋放的池包含活動(dòng)的 ERESOURCE。 |
0x30 | 當(dāng)前 IRQL | 請(qǐng)求的 IRQL | 0 | 驅(qū)動(dòng)程序?qū)o(wú)效參數(shù)傳遞給 KeRaiseIrql。 (參數(shù)是低于當(dāng)前 IRQL 的值,或高于 HIGH_LEVEL 的值。這可能是使用未初始化的 parameter.) |
0x31 | 當(dāng)前 IRQL | 請(qǐng)求的 IRQL | 0:新 IRQL 錯(cuò)誤 1:新 IRQL 在 DPC 例程中無(wú)效 | 驅(qū)動(dòng)程序?qū)o(wú)效參數(shù)傳遞給 KeLowerIrql。 (參數(shù)的值高于當(dāng)前 IRQL 或高于 HIGH_LEVEL。這可能是使用未初始化的 parameter.) |
0x32 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖地址 | 0 | 驅(qū)動(dòng)程序在除 DISPATCH_LEVEL 以外的 IRQL 中調(diào)用 KeReleaseSpinLock 。 (這可能是由于旋轉(zhuǎn)鎖的雙重釋放。) |
0x33 | 當(dāng)前 IRQL | 快速互斥地址 | 0 | 驅(qū)動(dòng)程序嘗試使用 IRQL > APC_LEVEL獲取快速互斥。 |
0x34 | 當(dāng)前 IRQL | 線程 APC 禁用計(jì)數(shù) | 快速互斥地址 | 驅(qū)動(dòng)程序嘗試在除 APC_LEVEL 之外的 IRQL 處釋放快速互斥。 |
0x35 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖地址 | 舊 IRQL | 內(nèi)核釋放了 IRQL 不等于 DISPATCH_LEVEL 的旋轉(zhuǎn)鎖。 |
0x36 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖號(hào) | 舊 IRQL | 內(nèi)核釋放了 IRQL 不等于DISPATCH_LEVEL的排隊(duì)旋轉(zhuǎn)鎖。 |
0x37 | 當(dāng)前 IRQL | 線程 APC 禁用計(jì)數(shù) | 資源 | 驅(qū)動(dòng)程序嘗試獲取資源,但未禁用 APC。 |
0x38 | 當(dāng)前 IRQL | 線程 APC 禁用計(jì)數(shù) | 資源 | 驅(qū)動(dòng)程序嘗試釋放資源,但未禁用 APC。 |
0x39 | 當(dāng)前 IRQL | 線程 APC 禁用計(jì)數(shù) | Mutex | 驅(qū)動(dòng)程序嘗試獲取一個(gè)互斥體“不安全”,IRQL 不等于輸入時(shí)APC_LEVEL。 |
0x3A | 當(dāng)前 IRQL | 線程 APC 禁用計(jì)數(shù) | Mutex | 驅(qū)動(dòng)程序嘗試釋放互斥體“不安全”,IRQL 不等于輸入時(shí)APC_LEVEL。 |
0x3B | 當(dāng)前 IRQL | 要等待的對(duì)象 | 超時(shí)參數(shù) | KeWaitXxx 例程在 DISPATCH_LEVEL 或更高版本調(diào)用。 |
0x3C | 傳遞給例程的句柄 | 對(duì)象類型 | 0 | 驅(qū)動(dòng)程序使用錯(cuò)誤的句柄調(diào)用 ObReferenceObjectByHandle 。 |
0x3D | 0 | 0 | 錯(cuò)誤資源的地址 | 驅(qū)動(dòng)程序?qū)㈠e(cuò)誤的 (未對(duì)齊) 資源傳遞給 ExAcquireResourceExclusive。 |
0x3E | 0 | 0 | 0 | 驅(qū)動(dòng)程序?yàn)楫?dāng)前不在關(guān)鍵區(qū)域中的線程調(diào)用 KeLeaveCriticalRegion 。 |
0x3F | 對(duì)象地址 | 新的對(duì)象引用計(jì)數(shù)。 -1:取消引用案例 1:引用案例 | 0 | 驅(qū)動(dòng)程序?qū)?ObReferenceObject 應(yīng)用于引用計(jì)數(shù)為零的對(duì)象,或驅(qū)動(dòng)程序?qū)?ObDereferenceObject 應(yīng)用于引用計(jì)數(shù)為零的對(duì)象。 |
0x40 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖地址 | 0 | 驅(qū)動(dòng)程序使用 IRQL < DISPATCH_LEVEL調(diào)用 KeAcquireSpinLockAtDpcLevel。 |
0x41 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖地址 | 0 | 驅(qū)動(dòng)程序使用 IRQL < DISPATCH_LEVEL調(diào)用 KeReleaseSpinLockFromDpcLevel。 |
0x42 | 當(dāng)前 IRQL | 旋轉(zhuǎn)鎖地址 | 0 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 KeAcquireSpinLock。 |
0x51 | 分配的基址 | 超出分配的引用的地址 | 收費(fèi)字節(jié)數(shù) | 驅(qū)動(dòng)程序在寫入到分配結(jié)束之后嘗試釋放內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x52 | 分配的基址 | 哈希條目 | 收費(fèi)字節(jié)數(shù) | 驅(qū)動(dòng)程序在寫入到分配結(jié)束之后嘗試釋放內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x53 | 分配的基址 | 標(biāo)頭 | 保留 | 驅(qū)動(dòng)程序在寫入到分配結(jié)束之后嘗試釋放內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x54 | 分配的基址 | 保留 | 池哈希大小 | 驅(qū)動(dòng)程序在寫入到分配結(jié)束之后嘗試釋放內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x59 | 分配的基址 | Listindex | 保留 | 驅(qū)動(dòng)程序在寫入到分配結(jié)束之后嘗試釋放內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x60 | 從分頁(yè)池分配的字節(jié)數(shù) | 從非分頁(yè)池分配的字節(jié)數(shù) | 未釋放的分配總數(shù) | 驅(qū)動(dòng)程序正在卸載,但未首先釋放其池分配。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x61 | 從分頁(yè)池分配的字節(jié)數(shù) | 從非分頁(yè)池分配的字節(jié)數(shù) | 未釋放的分配總數(shù) | 驅(qū)動(dòng)程序線程正在嘗試在驅(qū)動(dòng)程序卸載時(shí)分配池內(nèi)存。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x62 | 驅(qū)動(dòng)程序的名稱 | 保留 | 未釋放的分配總數(shù),包括分頁(yè)池和非分頁(yè)池 | 驅(qū)動(dòng)程序正在卸載,但未首先釋放其池分配。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“池跟蹤”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 鍵入 !verifier 3 drivername.sys,獲取有關(guān)導(dǎo)致 bug 檢查的已泄漏分配的信息。 |
0x6F | MDL 地址 | 物理頁(yè)面被鎖定 | 系統(tǒng)中最高的物理頁(yè) | 在不在 PFN 數(shù)據(jù)庫(kù)中的頁(yè)面上調(diào)用 MmProbeAndLockPages。 這通常是調(diào)用此例程以鎖定其自己的專用雙端口 RAM 的驅(qū)動(dòng)程序。 這不僅不需要這樣做,而且還會(huì)損壞具有不連續(xù)物理 RAM 的計(jì)算機(jī)上的內(nèi)存。 |
0x70 0x91
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x70 | 當(dāng)前 IRQL | MDL 地址 | 訪問(wèn)模式 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用了 MmProbeAndLockPages。 |
0x71 | 當(dāng)前 IRQL | MDL 地址 | 進(jìn)程地址 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 MmProbeAndLockProcessPages。 |
0x72 | 當(dāng)前 IRQL | MDL 地址 | 進(jìn)程地址 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 MmProbeAndLockSelectedPages。 |
0x73 | 當(dāng)前 IRQL | 在 32 位 Windows 中:物理地址的低 32 位在 64 位 Windows 中:64 位物理地址 | 字節(jié)數(shù) | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 MmMapIoSpace。 |
0x74 | 當(dāng)前 IRQL | MDL 地址 | 訪問(wèn)模式 | 驅(qū)動(dòng)程序在內(nèi)核模式下使用 IRQL > DISPATCH_LEVEL調(diào)用 MmMapLockedPages。 |
0x75 | 當(dāng)前 IRQL | MDL 地址 | 訪問(wèn)模式 | 驅(qū)動(dòng)程序在用戶模式下使用 IRQL > APC_LEVEL調(diào)用 MmMapLockedPages。 |
0x76 | 當(dāng)前 IRQL | MDL 地址 | 訪問(wèn)模式 | 驅(qū)動(dòng)程序在內(nèi)核模式下使用 IRQL > DISPATCH_LEVEL調(diào)用 MmMapLockedPagesSpecifyCache。 |
0x77 | 當(dāng)前 IRQL | MDL 地址 | 訪問(wèn)模式 | 驅(qū)動(dòng)程序在用戶模式下使用 IRQL > APC_LEVEL調(diào)用 MmMapLockedPagesSpecifyCache。 |
0x78 | 當(dāng)前 IRQL | MDL 地址 | 0 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 MmUnlockPages。 |
0x79 | 當(dāng)前 IRQL | 正在取消映射的虛擬地址 | MDL 地址 | 驅(qū)動(dòng)程序在內(nèi)核模式下使用 IRQL > DISPATCH_LEVEL調(diào)用 MmUnmapLockedPages。 |
0x7A | 當(dāng)前 IRQL | 正在取消映射的虛擬地址 | MDL 地址 | 驅(qū)動(dòng)程序在用戶模式下使用 IRQL > APC_LEVEL調(diào)用 MmUnmapLockedPages。 |
0x7B | 當(dāng)前 IRQL | 正在取消映射的虛擬地址 | 字節(jié)數(shù) | 驅(qū)動(dòng)程序使用 IRQL > APC_LEVEL調(diào)用 MmUnmapIoSpace。 |
0x7C | MDL 地址 | MDL 標(biāo)志 | 0 | 驅(qū)動(dòng)程序調(diào)用 MmUnlockPages,并傳遞了一個(gè) MDL,該 MDL 的頁(yè)面從未成功鎖定。 |
0x7D | MDL 地址 | MDL 標(biāo)志 | 0 | 驅(qū)動(dòng)程序名為 MmUnlockPages,并傳遞了一個(gè) MDL,該 MDL 的頁(yè)面來(lái)自非分頁(yè)池。 (這些永遠(yuǎn)不應(yīng)解鎖。) |
0x7E | 當(dāng)前 IRQL | DISPATCH_LEVEL | 0 | 名為 MmAllocatePagesForMdl、 MmAllocatePagesForMdlEx 或 MmFreePagesFromMdl 的驅(qū)動(dòng)程序與 IRQL > DISPATCH_LEVEL。 |
0x7F | 當(dāng)前 IRQL | MDL 地址 | MDL 標(biāo)志 | 驅(qū)動(dòng)程序名為 BuildMdlForNonPagedPool ,并傳遞了一個(gè) MDL,該 MDL 的頁(yè)面來(lái)自分頁(yè)池。 |
0x80 | 當(dāng)前 IRQL | 事件地址 | 0 | 驅(qū)動(dòng)程序使用 IRQL > DISPATCH_LEVEL調(diào)用 KeSetEvent。 |
0x81 | MDL 地址 | MDL 標(biāo)志 | 0 | 名為 MmMapLockedPages 的驅(qū)動(dòng)程序。 (應(yīng)改用 MmMapLockedPagesSpecifyCache ,并將 BugCheckOnFailure 參數(shù)設(shè)置為 FALSE.) |
0x82 | MDL 地址 | MDL 標(biāo)志 | 0 | 驅(qū)動(dòng)程序名為 MmMapLockedPagesSpecifyCache ,BugCheckOnFailure 參數(shù)等于 TRUE。 (此參數(shù)應(yīng)設(shè)置為 FALSE.) |
0x83 | 開始映射的物理地址范圍 | 要映射的字節(jié)數(shù) | 未鎖定的第一頁(yè)幀編號(hào) | 驅(qū)動(dòng)程序名為 MmMapIoSpace ,但未鎖定 MDL 頁(yè)面。 在進(jìn)行此調(diào)用之前,由映射的物理地址范圍表示的物理頁(yè)面必須已鎖定。 |
0x85 | MDL 地址 | 要映射的頁(yè)數(shù) | 未鎖定的第一頁(yè)幀編號(hào) | 驅(qū)動(dòng)程序名為 MmMapLockedPages ,但未鎖定 MDL 頁(yè)面。 |
0x89 | MDL 地址 | 指向 MDL 中非內(nèi)存頁(yè)的指針 | MDL 中的非內(nèi)存頁(yè)碼 | MDL 未標(biāo)記為“I/O”,但它包含非內(nèi)存頁(yè)地址。 |
0x91 | 預(yù)留 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序使用操作系統(tǒng)不支持的方法切換堆棧。 擴(kuò)展內(nèi)核模式堆棧的唯一支持方法是使用 KeExpandKernelStackAndCallout。 |
0xA0 0x140
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0xA0 | 指向發(fā)出讀取或?qū)懭胝?qǐng)求的 IRP 的指針 | 較低設(shè)備的設(shè)備對(duì)象 | 檢測(cè)到錯(cuò)誤的扇區(qū)數(shù) | 在硬盤上檢測(cè)到循環(huán)冗余檢查 (CRC) 錯(cuò)誤。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的磁盤完整性檢查選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0xA1 | 發(fā)出讀取或?qū)懭胝?qǐng)求的 IRP 的副本。 (實(shí)際 IRP 已完成。) | 較低設(shè)備的設(shè)備對(duì)象 | 檢測(cè)到錯(cuò)誤的扇區(qū)數(shù) | 在扇區(qū)上檢測(cè)到 CRC 錯(cuò)誤, (異步) 。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的磁盤完整性檢查選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0xA2 | 發(fā)出讀取或?qū)懭胝?qǐng)求的 IRP,或此 IRP 的副本 | 較低設(shè)備的設(shè)備對(duì)象 | 檢測(cè)到錯(cuò)誤的扇區(qū)數(shù) | CRCDISK 校驗(yàn)和副本不匹配。 這可能是分頁(yè)錯(cuò)誤。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的磁盤完整性檢查選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0xB0 | MDL 地址 | MDL 標(biāo)志 | MDL 標(biāo)志不正確 | 驅(qū)動(dòng)程序調(diào)用 MmProbeAndLockPages 的 MDL 具有不正確的標(biāo)志。 例如,驅(qū)動(dòng)程序?qū)?MmBuildMdlForNonPagedPool 創(chuàng)建的 MDL 傳遞給 MmProbeAndLockPages。 |
0xB1 | MDL 地址 | MDL 標(biāo)志 | MDL 標(biāo)志不正確 | 驅(qū)動(dòng)程序調(diào)用 MmProbeAndLockProcessPages 的 MDL 具有不正確的標(biāo)志。 例如,驅(qū)動(dòng)程序?qū)?MmBuildMdlForNonPagedPool 創(chuàng)建的 MDL 傳遞給 MmProbeAndLockProcessPages。 |
0xB2 | MDL 地址 | MDL 標(biāo)志 | MDL 標(biāo)志不正確 | 對(duì)于具有錯(cuò)誤標(biāo)志的 MDL,驅(qū)動(dòng)程序名為 MmMapLockedPages 。 例如,驅(qū)動(dòng)程序傳遞了已映射到系統(tǒng)地址或未鎖定到 MmMapLockedPages 的 MDL。 |
0xB3 | MDL 地址 | MDL 標(biāo)志 | 缺少 MDL 標(biāo)志 (預(yù)計(jì)至少有一個(gè)) | 對(duì)于具有錯(cuò)誤標(biāo)志的 MDL,驅(qū)動(dòng)程序名為 MmMapLockedPages 。 例如,驅(qū)動(dòng)程序傳遞的 MDL 未鎖定到 MmMapLockedPages。 |
0xB4 | MDL 地址 | MDL 標(biāo)志 | 意外的部分 MDL 標(biāo)志 | 對(duì)于部分 MDL,驅(qū)動(dòng)程序名為 MmUnlockPages 。 部分 MDL 是由 IoBuildPartialMdl 創(chuàng)建的。 |
0xB5 | MDL 地址 | MDL 標(biāo)志 | 意外的部分 MDL 標(biāo)志 | 使用 IoBuildPartialMdl) 創(chuàng)建的部分 MDL (調(diào)用 MmUnmapLockedPages。 |
0xB6 | MDL 地址 | MDL 標(biāo)志 | 缺少 MDL 標(biāo)志 | 在未映射到系統(tǒng)地址的 MDL 上調(diào)用的 MmUnmapLockedPages。 |
0xB7 | 損壞的物理頁(yè)數(shù)。 | 第一個(gè)損壞的物理頁(yè)。 | 上次損壞的物理頁(yè)。 | 系統(tǒng) BIOS 在睡眠轉(zhuǎn)換期間損壞了低物理內(nèi)存。 |
0xB8 | MDL 地址 | MDL 標(biāo)志 | 保留 | 仍會(huì)映射由 MDL 描述的頁(yè)面。 在調(diào)用 IoFreeMdl 之前,驅(qū)動(dòng)程序必須取消映射頁(yè)面。 |
0xB9 | 未映射的地址。 | MDL 地址。 | 保留 | 調(diào)用的 MmUnmapLockedPages 的用戶空間地址不正確。 |
0xC0 | IRP 的地址 | 0 | 保留 | 名為 IoCallDriver 的 驅(qū)動(dòng)程序,其中禁用了中斷。 |
0xC1 | 驅(qū)動(dòng)程序調(diào)度例程的地址 | 預(yù)留 | 預(yù)留 | 返回驅(qū)動(dòng)程序調(diào)度例程時(shí)禁用了中斷。 |
0xC2 | 0 | 0 | 0 | 禁用中斷后,驅(qū)動(dòng)程序調(diào)用了快速 I/O 調(diào)度例程。 |
0xC3 | 驅(qū)動(dòng)程序快速 I/O 調(diào)度例程的地址 | 預(yù)留 | 預(yù)留 | 已返回驅(qū)動(dòng)程序快速 I/O 調(diào)度例程,但中斷已禁用。 |
0xC5 | 驅(qū)動(dòng)程序調(diào)度例程的地址 | 當(dāng)前線程的 APC 禁用計(jì)數(shù) | 線程的 APC 在調(diào)用驅(qū)動(dòng)程序調(diào)度例程之前禁用計(jì)數(shù) | 驅(qū)動(dòng)程序調(diào)度例程已更改線程的 APC 禁用計(jì)數(shù)。 每次驅(qū)動(dòng)程序調(diào)用 KeEnterCriticalRegion、 FsRtlEnterFileSystem 或獲取互斥體時(shí),APC 禁用計(jì)數(shù)都會(huì)遞減。 每次驅(qū)動(dòng)程序調(diào)用 KeLeaveCriticalRegion、 KeReleaseMutex 或 FsRtlExitFileSystem 時(shí),APC 禁用計(jì)數(shù)都會(huì)遞增。 由于這些調(diào)用應(yīng)始終成對(duì),因此每當(dāng)線程退出時(shí),APC 禁用計(jì)數(shù)應(yīng)為零。 負(fù)值表示驅(qū)動(dòng)程序已禁用 APC 調(diào)用而不重新啟用它們。 正值表示反之,則為 true。 |
0xC6 | 驅(qū)動(dòng)程序快速 I/O 調(diào)度例程的地址 | 當(dāng)前線程的 APC 禁用計(jì)數(shù) | 線程的 APC 在調(diào)用快速 I/O 驅(qū)動(dòng)程序調(diào)度例程之前禁用計(jì)數(shù) | 驅(qū)動(dòng)程序快速 I/O 調(diào)度例程已更改線程的 APC 禁用計(jì)數(shù)。 每次驅(qū)動(dòng)程序調(diào)用 KeEnterCriticalRegion、 FsRtlEnterFileSystem 或獲取互斥體時(shí),APC 禁用計(jì)數(shù)都會(huì)遞減。 每次驅(qū)動(dòng)程序調(diào)用 KeLeaveCriticalRegion、 KeReleaseMutex 或 FsRtlExitFileSystem 時(shí),APC 禁用計(jì)數(shù)都會(huì)遞增。 由于這些調(diào)用應(yīng)始終成對(duì),因此每當(dāng)線程退出時(shí),APC 禁用計(jì)數(shù)應(yīng)為零。 負(fù)值表示驅(qū)動(dòng)程序已禁用 APC 調(diào)用而不重新啟用它們。 正值表示反之,則為 true。 |
0xCA | 旁觀列表的地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序已嘗試重新初始化查看列表。 |
0xCB | 旁觀列表的地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序嘗試刪除未初始化的 lookaside 列表。 |
0xCC | 旁觀列表的地址 | 池分配的起始地址 | 池分配的大小 | 驅(qū)動(dòng)程序已嘗試釋放包含活動(dòng)查看列表的池分配。 |
0xCD | 旁觀列表的地址 | 調(diào)用方指定的塊大小 | 支持的最小塊大小 | 驅(qū)動(dòng)程序嘗試創(chuàng)建分配塊大小過(guò)小的旁觀列表。 |
0xD0 | ERESOURCE 結(jié)構(gòu)的地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序已嘗試重新初始化 ERESOURCE 結(jié)構(gòu)。 |
0xD1 | ERESOURCE 結(jié)構(gòu)的地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序嘗試刪除未初始化的 ERESOURCE 結(jié)構(gòu)。 |
0xD2 | ERESOURCE 結(jié)構(gòu)的地址 | 池分配的起始地址 | 池分配的大小 | 驅(qū)動(dòng)程序已嘗試釋放包含活動(dòng) ERESOURCE 結(jié)構(gòu)的池分配。 |
0xD5 | 由驅(qū)動(dòng)程序的已檢查內(nèi)部版本創(chuàng)建的 IO_REMOVE_LOCK 結(jié)構(gòu)的地址 | 當(dāng)前 IoReleaseRemoveLock 標(biāo)記 | 保留 | 當(dāng)前的 IoReleaseRemoveLock 標(biāo)記與以前的 IoAcquireRemoveLock 標(biāo)記不匹配。 如果調(diào)用 IoReleaseRemoveLock 的驅(qū)動(dòng)程序不在已檢查的內(nèi)部版本中,則參數(shù) 2 是驅(qū)動(dòng)程序驗(yàn)證程序代表驅(qū)動(dòng)程序創(chuàng)建的影子IO_REMOVE_LOCK結(jié)構(gòu)的地址。 在這種情況下,驅(qū)動(dòng)程序使用的 IO_REMOVE_LOCK 結(jié)構(gòu)的地址根本不使用,因?yàn)轵?qū)動(dòng)程序驗(yàn)證程序?qū)⑻鎿Q所有刪除鎖 API 的鎖地址。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的 I/O 驗(yàn)證選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)發(fā)生帶有此參數(shù)的 bug 檢查。 |
0xD6 | 由驅(qū)動(dòng)程序的已檢查內(nèi)部版本創(chuàng)建的 IO_REMOVE_LOCK 結(jié)構(gòu)的地址 | 與以前的 IoAcquireRemoveLock 標(biāo)記不匹配的標(biāo)記 | 以前的 IoAcquireRemoveLock 標(biāo)記 | 當(dāng)前的 IoReleaseRemoveLockAndWait 標(biāo)記與以前的 IoAcquireRemoveLock 標(biāo)記不匹配。 如果調(diào)用 IoReleaseRemoveLock 的驅(qū)動(dòng)程序不是經(jīng)檢查的內(nèi)部版本,則參數(shù) 2 是驅(qū)動(dòng)程序驗(yàn)證程序代表驅(qū)動(dòng)程序創(chuàng)建的影子IO_REMOVE_LOCK結(jié)構(gòu)的地址。 在這種情況下,驅(qū)動(dòng)程序使用的 IO_REMOVE_LOCK 結(jié)構(gòu)的地址根本不使用,因?yàn)轵?qū)動(dòng)程序驗(yàn)證程序?qū)⑻鎿Q所有刪除鎖 API 的鎖地址。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的 I/O 驗(yàn)證選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)發(fā)生帶有此參數(shù)的 bug 檢查。 |
0xD7 | 驅(qū)動(dòng)程序驗(yàn)證程序在內(nèi)部使用的已檢查內(nèi)部版本的地址(刪除鎖定結(jié)構(gòu)) | 驅(qū)動(dòng)程序指定的 Remove Lock 結(jié)構(gòu)的地址 | 保留 | 即使調(diào)用 IoReleaseRemoveLockAndWait 后,Remove Lock 也無(wú)法重新初始化,因?yàn)槠渌€程可能仍通過(guò)調(diào)用 IoAcquireRemoveLock) 來(lái)使用該鎖 (。 驅(qū)動(dòng)程序應(yīng)在其設(shè)備擴(kuò)展內(nèi)分配 Remove Lock,并初始化它一次。 鎖將與設(shè)備擴(kuò)展一起刪除。 |
0xDA | 驅(qū)動(dòng)程序的起始地址 | 驅(qū)動(dòng)程序內(nèi)的 WMI 回調(diào)地址 | 保留 | 嘗試卸載尚未取消注冊(cè)其 WMI 回調(diào)函數(shù)的驅(qū)動(dòng)程序。 |
0xDB | 設(shè)備對(duì)象的地址 | 預(yù)留 | 預(yù)留 | 嘗試刪除未從 WMI 取消注冊(cè)的設(shè)備對(duì)象。 |
0xDC | 預(yù)留 | 預(yù)留 | 預(yù)留 | 將無(wú)效的 RegHandle 值指定為函數(shù) EtwUnregister 的參數(shù)。 |
0xDD | 調(diào)用 EtwRegister 的地址 | 卸載驅(qū)動(dòng)程序的起始地址 | 對(duì)于 Windows 8 及更高版本,此參數(shù)是 ETW RegHandle 值。 | 嘗試在不調(diào)用 EtwUnregister 的情況下卸載驅(qū)動(dòng)程序。 |
0xDF | 同步對(duì)象地址 | 0 | 0 | 同步對(duì)象位于會(huì)話地址空間中。 會(huì)話地址空間中不允許同步對(duì)象,因?yàn)樗鼈兛梢詮牧硪粋€(gè)會(huì)話或沒(méi)有會(huì)話虛擬地址空間的系統(tǒng)線程進(jìn)行操作。 |
0xE0 | 用作參數(shù)的用戶模式地址 | 用作參數(shù)的地址范圍的大?。ㄒ宰止?jié)為單位) | 保留 | 調(diào)用了指定用戶模式地址作為參數(shù)的操作系統(tǒng)內(nèi)核函數(shù)。 |
0xE1 | 同步對(duì)象的地址 | 預(yù)留 | 預(yù)留 | 發(fā)現(xiàn)同步對(duì)象的地址無(wú)效或可分頁(yè)。 |
0xE2 | IRP 的地址 | IRP 中存在的用戶模式地址 | 保留 | 發(fā)現(xiàn) Irp-RequestorMode> 設(shè)置為 KernelMode 的 IRP 具有用戶模式地址作為其成員之一。 |
0xE3 | 調(diào)用 API 的地址 | 在 API 中用作參數(shù)的用戶模式地址 | 保留 | 驅(qū)動(dòng)程序調(diào)用了使用用戶模式地址作為參數(shù)的內(nèi)核模式 ZwXxx 例程。 |
0xE4 | 調(diào)用 API 的地址 | 格式不正確的UNICODE_STRING結(jié)構(gòu)的地址 | 保留 | 驅(qū)動(dòng)程序調(diào)用了一個(gè)內(nèi)核模式 ZwXxx 例程,該例程使用格式不正確的UNICODE_STRING結(jié)構(gòu)作為參數(shù)。 |
0xE5 | 當(dāng)前 IRQL | 預(yù)留 | 預(yù)留 | 在錯(cuò)誤的 IRQL 下調(diào)用了內(nèi)核 API。 |
0xE6 | 進(jìn)行 Zw API 調(diào)用的驅(qū)動(dòng)程序內(nèi)的地址 | 當(dāng)前 IRQL | 特殊內(nèi)核 APC。 | 未在 IRQL = PASSIVE_LEVEL 且啟用了特殊內(nèi)核 APC 的情況下調(diào)用內(nèi)核 Zw API。 |
0xEA | 當(dāng)前 IRQL | 線程的 APC 禁用計(jì)數(shù) | 推送鎖的地址 | 驅(qū)動(dòng)程序嘗試在啟用 APC 時(shí)獲取推送鎖。 |
0xEB | 當(dāng)前 IRQL | 線程的 APC 禁用計(jì)數(shù) | 推送鎖的地址 | 驅(qū)動(dòng)程序嘗試在啟用 APC 時(shí)釋放一個(gè)推送鎖。 |
0xF0 | 目標(biāo)緩沖區(qū)的地址 | 源緩沖區(qū)的地址 | 要復(fù)制的字節(jié)數(shù) | 一個(gè)調(diào)用 memcpy 函數(shù)的驅(qū)動(dòng)程序,其中包含重疊的源緩沖區(qū)和目標(biāo)緩沖區(qū)。 |
0xF5 | NULL 句柄的地址 | 對(duì)象類型 | 保留 | 驅(qū)動(dòng)程序?qū)?NULL 句柄傳遞給 ObReferenceObjectByHandle。 |
0xF6 | 處理被引用的值 | 當(dāng)前進(jìn)程的地址 | 執(zhí)行錯(cuò)誤引用的驅(qū)動(dòng)程序內(nèi)的地址 | 驅(qū)動(dòng)程序?qū)⒂脩裟J骄浔脼閮?nèi)核模式。 |
0xF7 | 由調(diào)用方指定的句柄值 | 調(diào)用方指定的對(duì)象類型 | 調(diào)用方指定的 AccessMode | 驅(qū)動(dòng)程序正在嘗試在系統(tǒng)進(jìn)程的上下文中對(duì)內(nèi)核句柄進(jìn)行用戶模式引用。 |
0xFA | 完成例程地址。 | 調(diào)用完成例程之前的 IRQL 值 | 調(diào)用完成例程后的當(dāng)前 IRQL 值 | IRP 完成例程返回的 IRQL 不同于調(diào)用該例程的 IRQL。 |
0xFB | 完成例程地址 | 當(dāng)前線程的 APC 禁用計(jì)數(shù) | 線程的 APC 在調(diào)用 IRP 完成例程之前禁用計(jì)數(shù) | 線程的 APC 禁用計(jì)數(shù)已由驅(qū)動(dòng)程序的 IRP 完成例程更改。 每次驅(qū)動(dòng)程序調(diào)用 KeEnterCriticalRegion、 FsRtlEnterFileSystem 或獲取互斥體時(shí),APC 禁用計(jì)數(shù)都會(huì)遞減。 每次驅(qū)動(dòng)程序調(diào)用 KeLeaveCriticalRegion、 KeReleaseMutex 或 FsRtlExitFileSystem 時(shí),APC 禁用計(jì)數(shù)都會(huì)遞增。 由于這些調(diào)用應(yīng)始終成對(duì),因此每當(dāng)線程退出時(shí),APC 禁用計(jì)數(shù)應(yīng)為零。 負(fù)值表示驅(qū)動(dòng)程序已禁用 APC 調(diào)用而不重新啟用它們。 正值表示反之,則為 true。 |
0xFC | 進(jìn)行錯(cuò)誤 API 調(diào)用的驅(qū)動(dòng)程序內(nèi)的地址。 | 提供了 ApcContext 值。 | 保留 | 使用不支持的 ApcContext 值從內(nèi)核模式) 調(diào)用 ZwNotifyChangeKey (。 |
0x105 0x140
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x105 | IRP 的地址 | 0 | 0 | 驅(qū)動(dòng)程序使用 ExFreePool 而不是 IoFreeIrp 來(lái)釋放 IRP。 |
0x10A | 0 | 0 | 0 | 驅(qū)動(dòng)程序嘗試向空閑進(jìn)程收取池配額費(fèi)用。 |
0x10B | 0 | 0 | 0 | 驅(qū)動(dòng)程序嘗試從 DPC 例程收取池配額費(fèi)用。 這是不正確的,因?yàn)楫?dāng)前進(jìn)程上下文未定義。 |
0x110 | 中斷服務(wù)例程的地址 | 在執(zhí)行 ISR 之前保存的擴(kuò)展上下文的地址 | 擴(kuò)展上下文的地址在執(zhí)行 ISR 后已保存 | 驅(qū)動(dòng)程序 (ISR) 中斷服務(wù)例程損壞了擴(kuò)展線程上下文。 |
0x111 | 中斷服務(wù)例程的地址 | 執(zhí)行 ISR 前的 IRQL | 執(zhí)行 ISR 后的 IRQL | 中斷服務(wù)例程返回了更改的 IRQL。 |
0x115 | 負(fù)責(zé)關(guān)閉的線程的地址,該地址可能是死鎖的。 | 0 | 0 | 驅(qū)動(dòng)程序驗(yàn)證程序檢測(cè)到系統(tǒng)花費(fèi)的時(shí)間超過(guò) 20 分鐘,并且關(guān)閉未完成。 |
0x11A | 當(dāng)前 IRQL | 0 | 0 | 驅(qū)動(dòng)程序在 IRQL > APC_LEVEL調(diào)用 KeEnterCriticalRegion。 |
0x11B | 當(dāng)前 IRQL | 0 | 0 | 驅(qū)動(dòng)程序在 IRQL > APC_LEVEL調(diào)用 KeLeaveCriticalRegion。 |
0x120 | IRQL 值的地址 | 要等待的對(duì)象地址 | 超時(shí)值的地址 | 線程在 IRQL > DISPATCH_LEVEL等待。 KeWaitForSingleObject 或 KeWaitForMultipleObjects 的調(diào)用方必須在 IRQL <= DISPATCH_LEVEL 運(yùn)行。 |
0x121 | IRQL 值的地址 | 要等待的對(duì)象地址 | 超時(shí)值的地址 | 線程在 IRQL 處等待等于 DISPATCH_LEVEL,超時(shí)為 NULL。 KeWaitForSingleObject 或 KeWaitForMultipleObjects 的調(diào)用方可以在 IRQL <= DISPATCH_LEVEL 運(yùn)行。 如果為 Timeout 提供了 NULL 指針,則調(diào)用線程將保持等待狀態(tài),直到對(duì)象收到信號(hào)。 |
0x122 | IRQL 值的地址 | 要等待的對(duì)象地址 | 超時(shí)值的地址 | 線程在DISPATCH_LEVEL等待,超時(shí)值不等于零 (0) 。 如果 Timeout != 0,則 KeWaitForSingleObject 或 KeWaitForMultipleObjects 的調(diào)用方必須在 IRQL <= APC_LEVEL 運(yùn)行。 |
0x123 | 要等待的對(duì)象地址 | 0 | 0 | KeWaitForSingleObject 或 KeWaitForMultipleObjects 的調(diào)用方將等待指定為 UserMode,但對(duì)象位于內(nèi)核堆棧上。 |
0x130 | 工作項(xiàng)的地址 | 0 | 0 | 工作項(xiàng)位于會(huì)話地址空間中。 不允許在會(huì)話地址空間中使用工作項(xiàng),因?yàn)樗鼈兛梢詮牧硪粋€(gè)會(huì)話或從沒(méi)有會(huì)話虛擬地址空間的系統(tǒng)線程進(jìn)行操作。 |
0x131 | 工作項(xiàng)的地址 | 0 | 0 | 工作項(xiàng)位于可分頁(yè)內(nèi)存中。 工作項(xiàng)必須位于不可分頁(yè)內(nèi)存中,因?yàn)閮?nèi)核在DISPATCH_LEVEL使用它們。 |
0x135 | IRP 地址 | IoCancelIrp 調(diào)用與完成此 IRP 之間允許的毫秒數(shù) | 0 | 取消的 IRP 未在預(yù)期時(shí)間內(nèi)完成。驅(qū)動(dòng)程序完成取消的 IRP 所花費(fèi)的時(shí)間比預(yù)期長(zhǎng)。 |
0x13A | 正在釋放的池塊的地址 | 值不正確 | 錯(cuò)誤值的地址 | 驅(qū)動(dòng)程序已調(diào)用 ExFreePool ,驅(qū)動(dòng)程序驗(yàn)證程序在用于跟蹤池使用情況的內(nèi)部值之一中檢測(cè)到錯(cuò)誤。 |
0x13B | 正在釋放的池塊的地址 | 錯(cuò)誤值的地址 | 指向錯(cuò)誤內(nèi)存頁(yè)的指針的地址 | 驅(qū)動(dòng)程序已調(diào)用 ExFreePool ,驅(qū)動(dòng)程序驗(yàn)證程序在用于跟蹤池使用情況的內(nèi)部值之一中檢測(cè)到錯(cuò)誤。 |
0x13C | 正在釋放的池塊的地址 | 值不正確 | 錯(cuò)誤值的地址 | 驅(qū)動(dòng)程序已調(diào)用 ExFreePool ,驅(qū)動(dòng)程序驗(yàn)證程序在用于跟蹤池使用情況的內(nèi)部值之一中檢測(cè)到錯(cuò)誤。 |
0x13D | 正在釋放的池塊的地址 | 錯(cuò)誤值的地址 | 預(yù)期的正確值 | 驅(qū)動(dòng)程序已調(diào)用 ExFreePool ,驅(qū)動(dòng)程序驗(yàn)證程序在用于跟蹤池使用情況的內(nèi)部值之一中檢測(cè)到錯(cuò)誤。 |
0x13E | 調(diào)用方指定的池塊地址 | 驅(qū)動(dòng)程序驗(yàn)證程序跟蹤的池塊地址 | 指向驅(qū)動(dòng)程序驗(yàn)證程序跟蹤的池塊地址的指針 | ExFreePool 調(diào)用方指定的池塊地址不同于驅(qū)動(dòng)程序驗(yàn)證程序跟蹤的地址。 |
0x13F | 正在釋放的池塊的地址 | 正在釋放的字節(jié)數(shù) | 指向驅(qū)動(dòng)程序驗(yàn)證程序跟蹤的字節(jié)數(shù)的指針 | 調(diào)用 ExFreePool 時(shí)釋放的內(nèi)存字節(jié)數(shù)不同于驅(qū)動(dòng)程序驗(yàn)證程序跟蹤的字節(jié)數(shù)。 |
0x140 | 當(dāng)前 IRQL | MDL 地址 | 與此 MDL 關(guān)聯(lián)的虛擬地址 | 非鎖定 MDL 是從可分頁(yè)內(nèi)存或可交易內(nèi)存構(gòu)造的。 |
0x141 | 驅(qū)動(dòng)程序請(qǐng)求分配的最高物理地址 | 要分配的字節(jié)數(shù) | 0 | 驅(qū)動(dòng)程序顯式請(qǐng)求的物理內(nèi)存低于 4GB。 |
0x1000到0x100B - 死鎖
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x1000 | 資源的地址 | 預(yù)留 | 預(yù)留 | 自死鎖:當(dāng)前線程嘗試以遞歸方式以獨(dú)占方式獲取它僅擁有共享的資源。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“死鎖檢測(cè)”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)發(fā)生帶有此參數(shù)的 bug 檢查。 |
0x1001 | 死鎖最終原因的資源的地址 | 預(yù)留 | 預(yù)留 | 死鎖:已發(fā)現(xiàn)鎖層次結(jié)構(gòu)沖突。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的“死鎖檢測(cè)”選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)發(fā)生帶有此參數(shù)的 bug 檢查。 (使用 !deadlock 擴(kuò)展了解更多信息。) |
0x1002 | 資源的地址 | 預(yù)留 | 預(yù)留 | 未初始化的資源:已獲取資源,但尚未先初始化。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的死鎖檢測(cè)選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x1003 | 正在釋放死鎖的資源的地址 | 應(yīng)先釋放的資源的地址 | 保留 | 意外發(fā)布:資源已按不正確的順序釋放。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的死鎖檢測(cè)選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x1004 | 資源的地址 | 獲取資源的線程的地址 | 當(dāng)前線程的地址 | 意外線程:錯(cuò)誤的線程釋放資源。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的死鎖檢測(cè)選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x1005 | 資源的地址 | 預(yù)留 | 預(yù)留 | 多次初始化:一個(gè)資源多次初始化。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的死鎖檢測(cè)選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x1007 | 資源的地址 | 預(yù)留 | 預(yù)留 | 未獲取的資源:在獲取資源之前釋放資源。 僅當(dāng)驅(qū)動(dòng)程序驗(yàn)證程序的死鎖檢測(cè)選項(xiàng)處于活動(dòng)狀態(tài)時(shí),才會(huì)使用此參數(shù)檢查 bug。 |
0x1008 | 鎖地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序嘗試通過(guò)使用此鎖類型不匹配的 API 來(lái)獲取鎖。 |
0x1009 | 鎖地址 | 預(yù)留 | 預(yù)留 | 驅(qū)動(dòng)程序嘗試使用此鎖類型不匹配的 API 釋放鎖。 |
0x100A | 所有者線程地址 | 保留 | 終止的線程擁有鎖。 | |
0x100B | 鎖地址 | 所有者線程地址 | 保留 | 已刪除的鎖仍歸線程所有。 |
0x1010 | 向其發(fā)出寫入 IRP 的設(shè)備對(duì)象。 | IRP 的地址。 | System-Space MDL 描述的緩沖區(qū)的虛擬地址。 | 修改了寫入 Irp 的固定 MDL 緩沖區(qū)內(nèi)容。 |
0x1011 | 向其發(fā)出寫入 IRP 的設(shè)備對(duì)象。 | IRP 的地址。 | System-Space MDL 描述的緩沖區(qū)的虛擬地址。 | 讀取 Irp 的固定 MDL 緩沖區(qū)內(nèi)容是在調(diào)度期間修改的,或由虛擬頁(yè)面支持的緩沖區(qū)。 |
0x1012 | 指向描述沖突的字符串的指針。 | 如果未) 使用,則涉及此損壞的數(shù)據(jù) (0。 | 如果未) 使用,則涉及此損壞的數(shù)據(jù) (0。 | 驗(yàn)證程序擴(kuò)展?fàn)顟B(tài)存儲(chǔ)檢測(cè)到損壞。 |
0x1013 | 指向驅(qū)動(dòng)程序?qū)ο蟮闹羔槨?/td> | 指向捕獲的原始 I/O 回調(diào)的指針。 | 保留 (未使用的) 。 | 驗(yàn)證程序在捕獲的原始 I/O 回調(diào)中檢測(cè)到內(nèi)部損壞。 |
0x2000到0x2005 - 代碼完整性問(wèn)題
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x2000 | 驅(qū)動(dòng)程序代碼中檢測(cè)到錯(cuò)誤的地址。 | 池類型。 | 池標(biāo)記 ((如果) 提供)。 | 代碼完整性問(wèn)題:調(diào)用方指定了可執(zhí)行池類型。 (預(yù)期:NonPagedPoolNx) |
0x2001 | 驅(qū)動(dòng)程序代碼中檢測(cè)到錯(cuò)誤的地址。 | 頁(yè)面保護(hù) (WIN32_PROTECTION_MASK) 。 | 0 | 代碼完整性問(wèn)題:調(diào)用方指定了可執(zhí)行頁(yè)保護(hù)。 預(yù)期 (:清除PAGE_EXECUTE* 位) |
0x2002 | 驅(qū)動(dòng)程序代碼中檢測(cè)到錯(cuò)誤的地址。 | 頁(yè)面優(yōu)先級(jí) (MM_PAGE_PRIORITY MdlMapping*) 在邏輯上 OR'd。 | 0 | 代碼完整性問(wèn)題:調(diào)用方指定了可執(zhí)行的 MDL 映射。 預(yù)期 (:MdlMappingNoExecute) |
0x2003 | 圖像文件名 (Unicode 字符串) 。 | 節(jié)標(biāo)頭的地址。 | 節(jié)名稱 (UTF-8 編碼字符串) 。 | 代碼完整性問(wèn)題:映像包含可執(zhí)行和可寫部分。 |
0x2004 | 圖像文件名 (Unicode 字符串) 。 | 節(jié)標(biāo)頭的地址。 | 節(jié)名稱 (UTF-8 編碼字符串) 。 | 代碼完整性問(wèn)題:圖像包含一個(gè)未對(duì)齊頁(yè)面的部分。 |
0x2005 | 圖像文件名 (Unicode 字符串) 。 | IAT 目錄。 | 節(jié)名稱 (UTF-8 編碼字符串) 。 | 代碼完整性問(wèn)題:映像包含位于可執(zhí)行文件部分中的 IAT。 |
0xA001到0xA00D - VM 交換機(jī)問(wèn)題
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0xA001 | 指向 NetBufferList 對(duì)象的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 ( | 保留 (未使用的) | VM 交換機(jī):必須設(shè)置調(diào)用方提供的 NetBufferList 的 SourceHandle。 請(qǐng)參閱 AllocateNetBufferListForwardingContext 例程。 |
0xA002 | 指向 NetBufferList 對(duì)象的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | 保留 (未使用的) | VM 交換機(jī):調(diào)用方提供的 NetBufferList 的轉(zhuǎn)發(fā)詳細(xì)信息不為零。 請(qǐng)參閱 AllocateNetBufferListForwardingContext 例程。 |
0xA003 | 指向 NetBufferList 對(duì)象的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | 保留 (未使用的) | VM 交換機(jī):調(diào)用方提供了一個(gè) NetBufferList,其數(shù)據(jù)包標(biāo)頭或路由上下文為 NULL。 請(qǐng)參閱 可擴(kuò)展交換機(jī)數(shù)據(jù)路徑的數(shù)據(jù)包管理指南。 |
0xA004 | 無(wú)效端口的 ID | NIC 索引 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | VM 交換機(jī):調(diào)用方指定的端口和 NIC 索引組合無(wú)效。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)端口和網(wǎng)絡(luò)適配器狀態(tài)。 |
0xA005 | 指向 NetBufferList 對(duì)象的指針 | 指向“目標(biāo)”列表的指針。 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | VM 交換機(jī):調(diào)用方提供的目標(biāo)無(wú)效。 請(qǐng)參閱 AddNetBufferListDestination 和 UpdateNetBufferListDestinations。 |
0xA006 | 指向 NetBufferList 對(duì)象的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | 保留 (未使用的) | VM 交換機(jī):調(diào)用方提供了無(wú)效的源 NIC 或 Port 對(duì)象。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)端口和網(wǎng)絡(luò)適配器狀態(tài)。 |
0xA007 | 指向 NetBufferList 對(duì)象的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | 保留 (未使用的) | VM 交換機(jī):調(diào)用方提供的目標(biāo)列表無(wú)效。 請(qǐng)參閱 AddNetBufferListDestination 和 UpdateNetBufferListDestinations。 |
0xA008 | 父 NIC 對(duì)象 | NIC 索引 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | VM 交換機(jī):在不允許時(shí)嘗試引用 NIC。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)端口和網(wǎng)絡(luò)適配器狀態(tài)。 |
0xA009 | 正在引用的端口 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 ( | 保留 (未使用的) | VM 交換機(jī):在不允許時(shí)嘗試引用端口。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)端口和網(wǎng)絡(luò)適配器狀態(tài)。 |
0xA00A | 指向 NetBufferList 對(duì)象的指針 | ContextTypeInfo 對(duì)象 | 保留 (未使用的) | VM 交換機(jī):已設(shè)置失敗上下文。 請(qǐng)參閱 SetNetBufferListSwitchContext。 |
0xA00B | 指向 NetBufferList 對(duì)象的指針 | NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 ( | VM 交換機(jī):為已刪除的 NetBufferList 提供的方向無(wú)效。 請(qǐng)參閱 ReportFilteredNetBufferLists。 |
0xA00C | 指向 NetBufferList 對(duì)象的指針 | Send Flags 值 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 ( | VM 交換機(jī):設(shè)置 NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE 標(biāo)志時(shí),NetBufferList 鏈具有多個(gè)源端口。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)發(fā)送和接收標(biāo)志。 |
0xA00D | 指向 NetBufferList 對(duì)象的指針 | 指向虛擬交換機(jī)上下文的指針 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 ( | VM 交換機(jī):設(shè)置NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP標(biāo)志時(shí),鏈中的一個(gè)或多個(gè) NetBufferList 的目標(biāo)無(wú)效。 請(qǐng)參閱 Hyper-V 可擴(kuò)展交換機(jī)發(fā)送和接收標(biāo)志。 |
0xA00E | 指向 NetBufferLists 對(duì)象的指針。 | 指向虛擬交換機(jī)上下文的指針。 | 如果非 NULL) ,則指向虛擬交換機(jī)對(duì)象的指針 (。 | VM 交換機(jī):設(shè)置VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING標(biāo)志時(shí),嘗試通過(guò) WNV 完成 NetBufferList。 |
0x00020002 0x00020022 - DDI 合規(guī)性規(guī)則沖突
參數(shù) 1 | 參數(shù) 2 | 參數(shù) 3 | 參數(shù) 4 | 錯(cuò)誤消息的原因 |
---|---|---|---|---|
0x00020002 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlApcLte。 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= APC_LEVEL 時(shí)才調(diào)用 ObGetObjectSecurity 和 ObReleaseObjectSecurity。 |
0x00020003 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlDispatch。 IrqlDispatch 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = DISPATCH_LEVEL |
0x00020004 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlExAllocatePool。 IrqlExAllocatePool 規(guī)則指定驅(qū)動(dòng)程序僅在 IRQL<=DISPATCH_LEVEL 時(shí)調(diào)用 ExAllocatePoolWithTag 和 ExAllocatePoolWithTagPriority。 |
0x00020005 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlExApcLte1。 IrqlExApcLte1 規(guī)則指定驅(qū)動(dòng)程序僅在 IRQL <= APC_LEVEL 時(shí)才調(diào)用 ExAcquireFastMutex 和 ExTryToAcquireFastMutex。 |
0x00020006 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlExApcLte2。 IrqlExApcLte2 規(guī)則指定驅(qū)動(dòng)程序僅在 IRQL <= APC_LEVEL時(shí)才調(diào)用某些例程。 |
0x00020007 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlExApcLte3。 IrqlExApcLte3 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= APC_LEVEL時(shí)才調(diào)用某些執(zhí)行支持例程。 |
0x00020008 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlExPassive。 IrqlExPassive 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些執(zhí)行支持例程。 |
0x00020009 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoApcLte。 IrqlIoApcLte 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= APC_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000A | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoPassive1。 IrqlIoPassive1 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000B | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoPassive2。 IrqlIoPassive2 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000C | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoPassive3。 IrqlIoPassive3 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000D | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoPassive4。 IrqlIoPassive4 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000E | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlIoPassive5。 IrqlIoPassive5 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = PASSIVE_LEVEL時(shí)才調(diào)用某些 I/O 管理器例程。 |
0x0002000F | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlKeApcLte1。 IrqlKeApcLte1 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= APC_LEVEL時(shí)才調(diào)用某些內(nèi)核例程。 |
0x00020010 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlKeApcLte2。 IrqlKeApcLte2 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= APC_LEVEL時(shí)才調(diào)用某些內(nèi)核例程。 |
0x00020011 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlKeDispatchLte。 IrqlKeDispatchLte 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL <= DISPATCH_LEVEL時(shí)才調(diào)用某些內(nèi)核例程。 |
0x00020015 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量的可選指針 () 。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlKeReleaseSpinLock。 IrqlKeReleaseSpinLock 規(guī)則指定驅(qū)動(dòng)程序必須僅在 IRQL = DISPATCH_LEVEL時(shí)調(diào)用 KeReleaseSpinLock。 |
0x00020016 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlKeSetEvent。 IrqlKeSetEvent 規(guī)則指定僅在 Wait 設(shè)置為 FALSE 時(shí)在 IRQL <= DISPATCH_LEVEL調(diào)用 KeSetEvent 例程,在將 Wait 設(shè)置為 TRUE 時(shí),在 IRQL <= APC_LEVEL 調(diào)用。 |
0x00020019 | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlMmApcLte。 IrqlMmApcLte 規(guī)則指定僅在 IRQL <= APC_LEVEL時(shí)驅(qū)動(dòng)程序必須調(diào)用某些內(nèi)存管理器例程。 |
0x0002001A | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlMmDispatch。 IrqlMmDispatch 規(guī)則指定僅當(dāng) IRQL = DISPATCH_LEVEL時(shí),驅(qū)動(dòng)程序必須調(diào)用 MmFreeContiguousMemory 。 |
0x0002001B | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlObPassive。 IrqlObPassive 規(guī)則指定僅當(dāng) IRQL = PASSIVE_LEVEL時(shí),驅(qū)動(dòng)程序必須調(diào)用 ObReferenceObjectByHandle 。 |
0x0002001C | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlPsPassive。 IrqlPsPassive 規(guī)則指定僅當(dāng) IRQL = PASSIVE_LEVEL時(shí),驅(qū)動(dòng)程序必須調(diào)用某些進(jìn)程和線程管理器例程。 |
0x0002001D | 指向描述違反規(guī)則條件的字符串的指針。 | !ruleinfo) 的第二個(gè)參數(shù) (內(nèi)部規(guī)則狀態(tài)的地址。 | 補(bǔ)充狀態(tài)的地址 (!ruleinfo) 的第三個(gè)參數(shù)。 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlReturn。 |
0x0002001E | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlRtlPassive。 IrqlRtlPassive 規(guī)則指定僅當(dāng) IRQL = PASSIVE_LEVEL 時(shí),驅(qū)動(dòng)程序必須調(diào)用 RtlDeleteRegistryValue 。 |
0x0002001F | 指向描述違反規(guī)則條件的字符串的指針。 | 指向規(guī)則狀態(tài)變量 () 的可選指針。 | 保留 | 驅(qū)動(dòng)程序違反了 DDI 符合性規(guī)則 IrqlZwPassive。 IrqlZwPassive 規(guī)則指定僅在 IRQL = PASSIVE_LEVEL時(shí)驅(qū)動(dòng)程序必須調(diào)用 ZwClose 。 |
0x00020022 | 指向描述違反規(guī)則條件的字符串的指針。 | 保留 (未使用的) | 保留 (未使用的) |
相關(guān)推薦
最新文章
熱門文章
|