錯誤檢查0xA0:INTERNAL_POWER_ERROR
INTERNAL_POWER_ERROR錯誤檢查的值為 0x000000A0。 此錯誤檢查表示電源原則管理員發生嚴重錯誤。
重要
本文適用於程式設計人員。 如果您是在使用計算機時收到藍色畫面錯誤碼的客戶,請參閱 針對藍色畫面錯誤進行疑難解答。
INTERNAL_POWER_ERROR參數
參數 1 表示違規的類型。 其他參數的意義取決於參數 1 的值。
參數 1 | 參數 2 | 參數 3 | 參數 4 | 原因 |
---|---|---|---|---|
0x1 |
1: 裝置已滿溢其最大參考計數數目。 2、3 或 4: 太多無聲勢 IRP 已排入佇列。 5: 電源 IRP 已傳送至被動層級裝置物件。 6: 系統無法配置必要的電源 IRP。 |
如果 Parameter 2 的值為 1,則允許的最大參考數目。 如果參數 2 的值是 2、3 或 4,則允許擱置的 IRP 數目上限。 如果 Parameter 2 的值為 6,則為目標裝置物件。 |
如果 Parameter 2 的值為 6,則表示這是系統 (0x0) 或裝置 (0x1) 電源 IRP。 | 處理電源 I/O 要求封包時發生錯誤。 |
0x2 |
已保留 |
已保留 |
已保留 |
嘗試處理電源事件時發生內部失敗。 如需詳細資訊,請參閱 當參數 1 等於 0x2 時偵錯錯誤檢查0xA0。 |
0x3 |
預期的總和檢查碼 |
實際的總和檢查碼 |
失敗的行號 |
休眠內容頁面的總和檢查碼不符合其預期的總和檢查碼。 |
0x4 |
預期的總和檢查碼 |
實際的總和檢查碼 |
失敗的行號 |
即將寫入休眠檔案的頁面總和檢查碼不符合其預期的總和檢查碼。 |
0x5 |
已保留 |
已保留 |
已保留 |
未知的關機程式代碼已傳送至系統關機處理程式。 |
0x7 |
已保留 |
已保留 |
已保留 |
發生未處理的例外狀況。 如需詳細資訊,請參閱 參數 1 等於 0x7 時偵錯錯誤檢查0xA0。 |
0x8 |
此參數一律設定為 0x100。 |
裝置物件 |
POWER_CHANNEL_SUMMARY |
處理系統電源事件時發生嚴重錯誤。 |
0x9 |
狀態碼 |
鏡像階段 |
已保留 |
準備休眠檔案時發生嚴重錯誤。 |
0xA |
0: 恢復時會立即要求錯誤檢查。 1: 在所有無法分頁的裝置都開啟電源之後,在繼續期間要求進行錯誤檢查。 2: 所有裝置都開啟電源后,在繼續期間要求進行錯誤檢查。 |
已保留 |
已保留 |
喚醒以進行偵錯時,會要求錯誤檢查。 |
0xB |
休眠檔案的大小。 |
空間不足前的休眠進度 0: HIBERFILE_PROGRESS_FREE_MAP 1: HIBERFILE_PROGRESS_RESUME_CONTEXT 2: HIBERFILE_PROGRESS_PROCESSOR_STATE 3: HIBERFILE_PROGRESS_SECURE_RANGES 4: HIBERFILE_PROGRESS_MEMORY_RANGES 5: HIBERFILE_PROGRESS_TABLE_PAGES 6: HIBERFILE_PROGRESS_MEMORY_IMAGE |
當 param 2 為 4 時,剩餘記憶體範圍的大小。 |
休眠檔案太小。 |
0xC |
狀態碼 |
傾印堆疊內容 |
已保留 |
傾印堆疊無法初始化。 |
0xD |
轉換中的系統電源狀態。 |
最近到達的睡眠檢查點。 |
POP_POWER_ACTION 結構的指標。 |
系統無法及時完成電源轉換。 |
0xF |
轉換中的系統電源狀態。 |
最近到達的睡眠檢查點。 |
目前處理要求的線程指標。 |
系統無法及時完成電源轉換。 |
0xF0 |
轉換中的系統電源狀態。 |
最近到達的睡眠檢查點。 |
目前處理要求的線程指標。 |
系統無法及時完成電源轉換(暫停)。 |
0xF1 |
轉換中的系統電源狀態。 |
最近到達的睡眠檢查點。 |
目前處理要求的線程指標。 |
系統無法及時完成(繼續)電源轉換。 |
參數 1 | 參數 2 | 參數 3 | 參數 4 | 原因 |
---|---|---|---|---|
0x101 |
已保留 |
例外狀況指標。 |
已保留 |
處理系統電源事件時發生未處理的例外狀況。 如需詳細資訊,請參閱 在參數 1 等於 0x101 時偵錯錯誤檢查0xA0。 |
0x102 |
已保留 |
DUMP_INITIALIZATION_CONTEXT |
POP_HIBER_CONTEXT |
休眠工作緩衝區大小未對齊頁面。 |
0x103 |
已保留 |
POP_HIBER_CONTEXT |
已保留 |
在休眠過程中,所有工作頁面都無法計入其中。 |
0x104 |
已保留 |
POP_HIBER_CONTEXT |
已保留 |
嘗試在鎖定內部記憶體結構時對應內部休眠記憶體。 |
0x105 |
已保留 |
POP_HIBER_CONTEXT |
已保留 |
嘗試使用不支援的記憶體類型旗標來對應內部休眠記憶體。 |
0x106 |
已保留 |
記憶體描述元清單 (MDL) |
已保留 |
在休眠程式期間建立了記憶體描述元清單,描述未分頁對齊的記憶體。 |
0x107 |
已保留 |
POP_HIBER_CONTEXT |
PO_MEMORY_RANGE_ARRAY |
內部休眠數據結構中發生數據不符。 |
0x108 |
已保留 |
POP_HIBER_CONTEXT |
已保留 |
磁碟子系統無法正確寫入休眠檔案的一部分。 |
0x109 |
已保留 |
預期的總和檢查碼 |
實際總和檢查碼 |
處理器狀態數據的總和檢查碼不符合其預期的總和檢查碼。 |
0x10A |
已保留 |
POP_HIBER_CONTEXT |
NTSTATUS 失敗碼 |
磁碟子系統無法正確讀取或寫入休眠檔案的一部分。 |
0x10B |
已保留 |
目前休眠進度 |
已保留 |
嘗試使用 PoSetHiberRange API,在錯誤的時間標記休眠階段的頁面。 |
0x10C |
已保留 |
提供給 API 的旗標 |
要標記的長度 |
PoSetHiberRange API 是以無效參數呼叫。 |
0x10D |
已保留 |
POP_HIBER_CONTEXT |
NTSTATUS 失敗碼 |
安全核心子系統在提供繼續數據時失敗。 |
0x10E |
已保留 |
不正確的總和檢查碼 |
先前的磁碟讀取總和檢查碼 |
磁碟子系統從休眠檔案讀取時傳回損毀的數據。 |
0x10F |
目前的系統睡眠檢查點。 |
內部錯誤的類型。 0 :分頁停用時寫入檢查點,但在 Po 停用所有處理器中斷之前。 1 :0 以外的CPU嘗試在中斷停用的系統睡眠階段期間寫入檢查點。 2:系統中另一段程式代碼正在執行 EFI 運行時間服務。 |
已保留 |
檢查點系統睡眠進度時發生內部錯誤。 |
0x110 |
已保留 |
已保留 |
已保留 |
系統無法停用系統睡眠狀態,但必須這樣做以確保數據完整性。 |
0x111 |
已保留 |
已保留 |
已保留 |
驅動程式指出使用者存在,且使用者已啟用偵錯選項來擷取呼叫堆疊。 |
0x200 |
已保留 |
DEVICE_OBJECT |
DEVICE_OBJECT_POWER_EXTENSION |
正在檢查未知的裝置類型是否有閑置狀態。 |
0x300 |
已保留 |
DEVICE_OBJECT |
IRP |
從電池電源 IRP 傳回未知的狀態。 |
0x301 |
已保留 |
DEVICE_OBJECT |
IRP |
電池已進入未知狀態。 |
0x400 |
已保留 |
IO_STACK_LOCATION |
DEVICE_OBJECT |
裝置已滿溢其最大參考計數數目。 |
0x401 |
已保留 |
擱置的 IRP 清單 |
DEVICE_OBJECT |
太多無聲電源 IRP 已排入佇列。 |
0x402 |
已保留 |
擱置的 IRP 清單 |
DEVICE_OBJECT |
太多無聲電源 IRP 已排入佇列。 |
0x403 |
已保留 |
擱置的 IRP 清單 |
DEVICE_OBJECT |
太多無聲電源 IRP 已排入佇列。 |
0x404 |
已保留 |
IO_STACK_LOCATION |
DEVICE_OBJECT |
電源 IRP 已傳送至被動層級裝置物件。 |
0x500 |
已保留 |
IRP |
DEVICE_OBJECT |
從熱電 IRP 傳回未知的狀態。 |
參數 1 | 參數 2 | 參數 3 | 參數 4 | 原因 |
---|---|---|---|---|
0x600 |
DEVICE_OBJECT PDO |
已保留 |
已保留 |
驅動程式已嘗試使用Power Runtime Framework 重複註冊。 |
0x601 |
POP_FX_DEVICE裝置 |
PEP_DEVICE_REGISTER PEP |
已保留 |
沒有 Power Engine 外掛程式接受裝置註冊。 |
0x602 |
DEVICE_NODE裝置節點 |
睡眠計數 |
已保留 |
裝置節點睡眠計數不符合其啟用計數。 |
0x603 |
POP_FX_PLUGIN |
工作要求類型 |
已保留 |
Power Engine 外掛程式發出無效的工作要求。 |
0x605 |
通知標識碼 |
POP_FX_PLUGIN |
已保留 |
Power Engine 外掛程式無法接受強制裝置電源管理通知。 |
0x606 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
元件的新條件 |
Power Engine 外掛程式嘗試在資源已處於作用中(或 Idle)時,將重要的系統資源元件轉換為作用中(或閑置)條件。 |
0x607 |
POP_FX_DEVICE |
NTSTATUS |
已保留 |
當需要成功時,取得運行時間電源管理架構裝置移除鎖定失敗。 |
0x608 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
已保留 |
驅動程式嘗試在沒有先前的作用中要求的情況下,將元件轉換為閑置。 |
0x609 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
重複的要求類型 0: DevicePowerRequired 1: DevicePowerNotRequired |
Power Engine 外掛程式已要求不需要裝置電源或不需要裝置電源,而不需要相反類型的介入要求。 |
0x610 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
已保留 |
Power Engine 外掛程式已要求裝置電源,而先前的裝置電源必要要求未完成。 |
0x611 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
無效的元件索引 |
Power Engine 外掛程式已要求在無效元件上進行作業。 |
0x612 |
POP_FX_PLUGIN PowerEnginePlugin |
已保留 |
已保留 |
Power Engine 外掛程式已要求在裝置通知的內容中完成其他工作,其中 PO 未提供任何緩衝區供要求使用。 |
0x613 |
POP_FX_DEVICE |
元件索引 |
作業 0: 不需要完成裝置電源 1: 回報開啟電源的裝置 2: 完成閑置條件 |
當沒有未完成的要求擱置時,驅動程式已嘗試完成要求。 |
0x614 |
POP_FX_DEVICE |
元件索引 |
不合法的參數 0: 在 IRQL >= DISPATCH_LEVEL 中使用的PO_FX_FLAG_BLOCKING 1: 指定兩者PO_FX_FLAG_BLOCKING和PO_FX_FLAG_ASYNC_ONLY 2: 元件索引無效 |
驅動程式已要求在具有非法參數的元件上使用中/閑置轉換。 |
0x615 |
POP_FX_PLUGIN |
POP_FX_COMPONENT |
非法動作 0: 元件未處於閑置狀態 0 1:元件已在使用中 2: 沒有未完成的啟用要求 3: 未處理的閑置狀態轉換 |
Power Engine 外掛程式已非法表示元件啟用完成。 |
0x616 |
POP_FX_PLUGIN |
POP_FX_COMPONENT |
非法動作 0: 閑置狀態無效 1: 元件已處於要求狀態 2: 要求非零閑置狀態而不通過閑置狀態 0 |
Power Engine 外掛程式已非法要求元件閑置狀態轉換。 |
0x617 |
POP_FX_PLUGIN PowerEnginePlugin |
UNICODE_STRING DeviceId |
PEP_DEVICE_REGISTER PEP 註冊 |
處理裝置註冊通知時,Power Engine 外掛程式已傳回無效的接受類型。 |
0x618 |
POP_FX_WORK_ORDER_WATCHDOG_INFO WorkOrder |
已保留 |
已保留 |
運行時間電源背景工作線程已封鎖太久。 |
0x619 |
POP_FX_DEVICE裝置 |
元件索引 |
子裝置實際負責的NULL或DEVICE_NODE |
裝置已封鎖進入最深層運行時間閑置電源狀態太久。 |
0x61A |
POP_FX_PLUGIN Power Engine 外掛程式 |
POP_FX_DEVICE裝置 |
已保留 |
Power Engine 外掛程式已提供元件效能狀態資訊無效的資訊。 |
0x61B |
POP_FX_DEVICE裝置 |
元件索引 |
已保留 |
驅動程式已在註冊裝置效能狀態之前發出效能狀態要求。 |
0x61C |
POP_FX_DEVICE裝置 |
元件索引 |
無效的參數 值: 0 :P erfChangesCount 超過為此元件註冊的perf狀態集數目 |
驅動程式已發出具有無效參數的效能狀態要求。 |
0x61D |
POP_FX_DEVICE裝置 |
元件索引 |
未處理的要求內容 |
當先前的要求未完成時,驅動程式已發出效能狀態要求。 |
0x61E |
已保留 |
已保留 |
已保留 |
啟用自動轉換時,Power Engine 外掛程式已嘗試在調試程式裝置上執行重大轉換。 |
0x61F |
POP_FX_DEVICE裝置 |
協調閑置狀態索引 |
已保留 |
Power Engine 外掛程式已嘗試針對非全平台狀態的協調閑置狀態啟用自動調試程序轉換。 |
0x620 |
POP_FX_DEVICE裝置 |
協調閑置狀態索引 |
已保留 |
Power Engine 外掛程式已嘗試針對非全平台狀態的協調閑置狀態註冊 D 狀態相依性。 |
0x621 |
POP_FX_DEVICE裝置 |
元件索引 |
協調閑置狀態索引 |
Power Engine 外掛程式已嘗試針對非全平台狀態的協調閑置狀態註冊 F 狀態相依性。 |
0x622 |
父POP_FX_COMPONENT |
子系POP_FX_COMPONENT |
已保留 |
驅動程式已嘗試從具有未完成相依項的PoFx取消註冊。 |
0x666 |
PPOP_PEP_ACTIVITY |
新的活動類型 0: DevicePowerOn 1: ComponentIdleStateChange 2: ComponentActivating 3: ComponentActive 4: DevicePowerOff 5: DeviceSuspend |
衝突的活動類型 0: DevicePowerOn 1: ComponentIdleStateChange 2: ComponentActivating 3: ComponentActive 4: DevicePowerOff 5: DeviceSuspend |
預設Power Engine 外掛程式已嘗試觸發與另一個活動衝突的新活動。 |
0x667 |
POP_PEP_ACTIVITY |
活動類型 0: DevicePowerOn 1: ComponentIdleStateChange 2: ComponentActivating 3: ComponentActive 4: DevicePowerOff 5: DeviceSuspend |
POP_PEP_ACTIVITY_STATUS |
預設 Power Engine 外掛程式已嘗試完成未執行的活動。 |
0x668 |
PPPM_COORDINATED_STATE其參考計數正在更新。 |
這個函式觀察到的參考計數值無效。 |
要更新之平台閑置狀態的遮罩。 |
預設 Power Engine 外掛程式已嘗試移除先前未限制的平台閑置狀態條件約束。 |
0x669 |
PPPM_COORDINATED_STATE其參考計數正在更新。 |
這個函式觀察到的參考計數值無效。 |
已保留 |
預設Power Engine 外掛程式嘗試獨占通知PoFx平台閒置狀態的可用性時發生內部一致性錯誤。 |
參數 1 | 參數 2 | 參數 3 | 參數 4 | 原因 |
---|---|---|---|---|
0x680 |
NTSTATUS 失敗碼。 |
已保留 |
已保留 |
由於缺少或格式不正確,運行時間 Power Framework 無法剖析必要的 ACPI 數據表。 這通常是因為 BIOS 錯誤所致。 |
0x700 |
PEPHANDLE |
PEP_PPM_IDLE_SELECT |
已保留 |
Power Engine 外掛程式已指定無效的處理器閑置相依性。 |
0x701 |
已停止處理器所選取閑置狀態的索引 |
無回應處理器的中國B 位址 |
無回應處理器的索引 |
處理器無法在配置間隔內完成閑置轉換。 這表示指定的處理器已停止回應。 |
0x702 |
處理器所選閑置狀態的索引 |
處理器的閑置同步處理狀態 |
無回應處理器的中國B 位址 |
處理器會從無法中斷的狀態喚醒,而不需要OS透過PEP起始明確的喚醒(使用必要的 PPM 閑置同步處理)。 |
0x703 |
PEPHANDLE |
PEP_PPM_QUERY_PLATFORM_STATE |
已保留 |
Power Engine 外掛程式在查詢平台狀態通知期間指定了無效的處理器閑置相依性。 |
0x704 |
已保留 |
已保留 |
已保留 |
協調的閑置狀態轉換未及時完成。 |
0x705 |
PEPHANDLE |
通知 |
識別非法更改欄位的四個字元標記。 在核心調試程式中譯碼卷標:.formats 卷標,標記括在< >中。 |
Power Engine 外掛程式已變更傳入通知之緩衝區中的唯讀字段。 |
0x706 |
通知 |
識別包含不合法值的欄位的四個字元標記。 在核心調試程式中譯碼卷標:.formats 卷標,標記括在< >中。 |
不合法的值或索引到存在不合法的值陣列 |
Power Engine 外掛程式在傳遞至通知的其中一個緩衝區欄位中傳回了不合法的值。 |
0x800 |
目前的 CS 狀態 |
已保留 |
已保留 |
當系統處於連線待命狀態時,監視器意外開啟。 |
0x801 |
顯示狀態變更原因 |
更新顯示狀態之會話的標識碼 |
已保留 |
發生無效的顯示狀態轉換。 |
0x802 |
導致顯示器關閉的POWER_MONITOR_REQUEST_REASON |
如果已啟用Power Event Processor,則為1,否則為0。 |
全域POP_PDC_IDLE_PHASE_WATCHDOG_CONTEXT指標。 |
PDC 系統閒置階段 (NoCsPhase) 已封鎖轉換至新式待命的時間超過預期。 |
0x900 |
負責電源設定回呼的指標 |
在呼叫電源設定回呼之前,IRQL |
從電源設定回呼傳回之後的 IRQL |
使用修改的 IRQL 傳回的已註冊電源設定回呼。 這表示回呼已變更 IRQL,但在傳回之前未還原原始 IRQL。 |
0x901 |
DEVICE_OBJECT |
IRP |
線程的 APC 停用計數 |
驅動程式在處理電源 IRP 時已啟用/停用核心 APC。 |
0x4001 |
KE 錯誤子碼。 值: 0x100: (INTERNAL_POWER_ERROR_KE_PROCESSOR_ON_TIMED_OUT) 韌體在處理器上電源花費的時間太長。 0x101 :(INTERNAL_POWER_ERROR_KE_INVALID_INTERRUPT_TARGET) 指定了無效的中斷目標。 0x102:(INTERNAL_POWER_ERROR_KE_SETDESTINATION_FAILED) 無法變更中斷線的目標目的地。 0x103: (INTERNAL_POWER_ERROR_KE_IPI_REQUEST_FAILED) 在中斷重新導向時無法發出ED。 0x104 :(INTERNAL_POWER_ERROR_KE_ARCH_NOT_SUPPORTED) 不支援的處理器架構。 |
已保留 |
已保留 |
(INTERNAL_POWER_ERROR_KE_SUBCODE)在電源作業期間,核心執行人員發生內部失敗。 |
0xAA64 |
錯誤碼 |
進行中的 PSCI 函式識別碼 |
選擇性的內部內容相依數據 |
AArm64 Power State Coordination Interface (PSCI) 函式發生無法復原的嚴重錯誤。 |
解決方法
一般注意事項
在上表中,有數個參數是結構的指標。 例如,如果 Parameter 2 列為DEVICE_OBJECT,則 Parameter 2 是DEVICE_OBJECT結構的指標。 某些結構定義於 wdm.h 中,其中包含於 Windows 驅動程式套件中。 例如,下列結構定義於 wdm.h 中。
- EXCEPTION_POINTERS
- DEVICE_OBJECT
- IO_STACK_LOCATION
- PEP_DEVICE_REGISTER
上表中顯示的某些結構並未定義在任何公用頭檔中。 您可以使用 dt 調試程式命令來查看這些結構的定義。 下列範例示範如何使用 dt 命令來查看 DEVICE_OBJECT_POWER_EXTENSION 結構。
3: kd> dt nt!DEVICE_OBJECT_POWER_EXTENSION
+0x000 IdleCount : Uint4B
+0x004 BusyCount : Uint4B
+0x008 BusyReference : Uint4B
+0x00c TotalBusyCount : Uint4B
+0x010 ConservationIdleTime : Uint4B
+0x014 PerformanceIdleTime : Uint4B
+0x018 DeviceObject : Ptr64 _DEVICE_OBJECT
+0x020 IdleList : _LIST_ENTRY
+0x030 IdleType : _POP_DEVICE_IDLE_TYPE
+0x034 IdleState : _DEVICE_POWER_STATE
+0x038 CurrentState : _DEVICE_POWER_STATE
+0x040 Volume : _LIST_ENTRY
+0x050 Specific : <unnamed-tag>
下列程式將協助您偵錯此錯誤檢查的特定實例。
當參數 1 等於 0x2 時,偵錯錯誤檢查0xA0
檢查堆疊。 尋找 ntoskrnl!PopExceptionFilter 函式。 此函式包含下列程式代碼作為其第一個自變數。
(error_code << 16) | _LINE_
如果呼叫端是 PopExceptionFilter,則此函式的第一個自變數類型為 PEXCEPTION_POINTERS。 請注意這個自變數的值。
使用 dt (Display Type) 命令,並將您在上一個步驟中找到的值指定為自變數。
dt nt!_EXCEPTION_POINTERS argument
此命令會顯示 結構。 記下內容記錄的位址。
使用 .cxr (顯示內容記錄) 命令,並將您在上一個步驟中找到的內容記錄指定為記錄。
.cxr record
此命令會將緩存器內容設定為適當的值。
使用各種命令來分析錯誤的來源。 從 kb 開始 (顯示堆疊回溯) 。
當參數 1 等於 0x7 時,偵錯錯誤檢查0xA0
檢查堆疊。 尋找 ntoskrnl!PopExceptionFilter 函式。 此函式的第一個自變數的類型為 PEXCEPTION_POINTERS。 請注意這個自變數的值。
使用 dt (Display Type) 命令,並將您在上一個步驟中找到的值指定為自變數。
dt nt!_EXCEPTION_POINTERS argument
此命令會顯示 結構。 記下內容記錄的位址。
使用 .cxr (顯示內容記錄) 命令,並將您在上一個步驟中找到的內容記錄指定為記錄。
.cxr record
此命令會將緩存器內容設定為適當的值。
使用各種命令來分析錯誤的來源。 從 kb 開始 (顯示堆疊回溯) 。
當參數 1 等於 0x101 時,偵錯錯誤檢查0xA0
使用 dt (顯示類型) 命令,並將 Parameter 3 的值指定為自變數。
dt nt!_EXCEPTION_POINTERS argument
此命令會顯示 結構。 記下內容記錄的位址。
使用 .cxr (顯示內容記錄) 命令,並指定您在上一個步驟中找到的內容記錄做為記錄。
.cxr record
此命令會將緩存器內容設定為適當的值。
使用各種命令來分析錯誤的來源。 從 kb 開始 (顯示堆疊回溯) 。