버그 검사 0xA0: INTERNAL_POWER_ERROR
INTERNAL_POWER_ERROR 버그 검사 값은 0x000000A0. 이 버그 검사 전원 정책 관리자가 심각한 오류가 발생했음을 나타냅니다.
Important
이 문서는 프로그래머를 위한 것입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 파란색 화면 오류 문제 해결을 참조하세요.
INTERNAL_POWER_ERROR 매개 변수
매개 변수 1은 위반 유형을 나타냅니다. 다른 매개 변수의 의미는 매개 변수 1의 값에 따라 달라집니다.
매개 변수 1입니다. | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 원인 |
---|---|---|---|---|
0x1 |
1: 디바이스가 최대 참조 수를 초과했습니다. 2, 3 또는 4: 너무 많은 inrush 전원 IRP가 큐에 대기되었습니다. 5: 전원 IRP가 수동 수준 디바이스 개체로 전송되었습니다. 6: 시스템에서 필요한 전원 IRP를 할당하지 못했습니다. |
매개 변수 2의 값이 1이면 허용되는 최대 참조 수입니다. 매개 변수 2의 값이 2, 3 또는 4이면 허용되는 보류 중인 IRP의 최대 수입니다. 매개 변수 2의 값이 6이면 대상 디바이스 개체입니다. |
매개 변수 2의 값이 6이면 시스템(0x0) 또는 디바이스(0x1) 전원 IRP인지 여부를 나타냅니다. | 전원 IRP(I/O 요청 패킷)를 처리하는 동안 오류가 발생했습니다. |
0x2 |
예약됨 |
예약됨 |
예약됨 |
전원 이벤트를 처리하는 동안 내부 오류가 발생했습니다. 자세한 내용은 매개 변수 1이 0x2 경우 버그 검사 0xA0 디버깅을 참조하세요. |
0x3 |
예상 검사sum |
실제 검사sum |
오류의 줄 번호 |
최대 절전 모드 컨텍스트 페이지의 검사sum이 예상 검사sum과 일치하지 않습니다. |
0x4 |
예상 검사sum |
실제 검사sum |
오류의 줄 번호 |
최대 절전 모드 파일에 쓸 페이지의 검사sum이 예상 검사sum과 일치하지 않습니다. |
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 |
매개 변수 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 |
예약됨 |
예상 검사sum |
실제 검사sum |
프로세서 상태 데이터의 검사sum이 예상 검사sum과 일치하지 않습니다. |
0x10A |
예약됨 |
POP_HIBER_CONTEXT |
NTSTATUS 오류 코드 |
디스크 하위 시스템이 최대 절전 모드 파일의 일부를 제대로 읽거나 쓰지 못했습니다. |
0x10B |
예약됨 |
현재 최대 절전 모드 진행률 |
예약됨 |
PoSetHiberRange API를 사용하여 잘못된 시간에 최대 절전 모드의 부팅 단계에 대한 페이지를 표시하려고 했습니다. |
0x10C |
예약됨 |
API에 제공된 플래그 |
표시할 길이 |
잘못된 매개 변수를 사용하여 PoSetHiberRange API가 호출되었습니다. |
0x10D |
예약됨 |
POP_HIBER_CONTEXT |
NTSTATUS 오류 코드 |
다시 시작할 데이터를 제공하는 동안 보안 커널 하위 시스템이 실패했습니다. |
0x10E |
예약됨 |
잘못된 검사sum |
이전 디스크 읽기의 검사sum |
디스크 하위 시스템은 최대 절전 모드 파일에서 읽는 동안 손상된 데이터를 반환했습니다. |
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 |
너무 많은 inrush 전원 IRP가 큐에 대기되었습니다. |
0x402 |
예약됨 |
보류 중인 IRP 목록 |
DEVICE_OBJECT |
너무 많은 inrush 전원 IRP가 큐에 대기되었습니다. |
0x403 |
예약됨 |
보류 중인 IRP 목록 |
DEVICE_OBJECT |
너무 많은 inrush 전원 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 |
예약됨 |
전원 엔진 플러그 인이 디바이스 등록을 수락하지 않았습니다. |
0x602 |
DEVICE_NODE 디바이스 노드 |
절전 모드 수 |
예약됨 |
디바이스 노드 절전 모드 수가 활성화 수와 일치하지 않습니다. |
0x603 |
POP_FX_PLUGIN |
작업 요청 유형 |
예약됨 |
전원 엔진 플러그 인이 잘못된 작업 요청을 했습니다. |
0x605 |
알림 ID |
POP_FX_PLUGIN |
예약됨 |
전원 엔진 플러그 인이 필수 디바이스 전원 관리 알림을 수락하지 못했습니다. |
0x606 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
구성 요소에 대한 새 조건 |
전원 엔진 플러그 인은 리소스가 이미 활성(또는 유휴 상태)일 때 중요한 시스템 리소스 구성 요소를 활성(또는 유휴) 상태로 전환하려고 했습니다. |
0x607 |
POP_FX_DEVICE |
NTSTATUS |
예약됨 |
성공해야 할 때 런타임 전원 관리 프레임워크 디바이스 제거 잠금을 획득하지 못했습니다. |
0x608 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
예약됨 |
드라이버가 이전 활성 요청 없이 구성 요소를 유휴 상태로 전환하려고 했습니다. |
0x609 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
중복 요청 유형 0: DevicePowerRequired 1: DevicePowerNotRequired |
전원 엔진 플러그 인은 디바이스 전원이 필요하거나 반대 유형의 중간 요청 없이는 디바이스 전원이 필요하지 않은 것을 요청했습니다. |
0x610 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
예약됨 |
이전 디바이스 전원 필요 요청이 미해결 상태인 동안 전원 엔진 플러그 인은 디바이스 전원이 필요하지 않다고 요청했습니다. |
0x611 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
잘못된 구성 요소 인덱스 |
전원 엔진 플러그 인이 잘못된 구성 요소에 대한 작업을 요청했습니다. |
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: 미해결 유휴 상태 전환 |
전원 엔진 플러그 인이 구성 요소 정품 인증 완료를 잘못 표시했습니다. |
0x616 |
POP_FX_PLUGIN |
POP_FX_COMPONENT |
불법 조치 0: 잘못된 유휴 상태 1: 구성 요소가 이미 요청된 상태입니다. 2: 유휴 상태 0을 통과하지 않고 0이 아닌 유휴 상태를 요청했습니다. |
전원 엔진 플러그 인이 구성 요소 유휴 상태 전환을 잘못 요청했습니다. |
0x617 |
POP_FX_PLUGIN PowerEnginePlugin |
UNICODE_STRING DeviceId |
PEP 등록 PEP_DEVICE_REGISTER |
전원 엔진 플러그 인이 디바이스 등록 알림을 처리할 때 잘못된 승인 유형을 반환했습니다. |
0x618 |
POP_FX_WORK_ORDER_WATCHDOG_INFO WorkOrder |
예약됨 |
예약됨 |
런타임 전원 작업자 스레드가 너무 오랫동안 차단되었습니다. |
0x619 |
POP_FX_DEVICE 디바이스 |
구성 요소 인덱스 |
실제로 책임 있는 자식 디바이스의 NULL 또는 DEVICE_NODE |
디바이스가 너무 오랫동안 가장 깊은 런타임 유휴 상태의 진입을 차단했습니다. |
0x61A |
POP_FX_PLUGIN 전원 엔진 플러그 인 |
POP_FX_DEVICE 디바이스 |
예약됨 |
전원 엔진 플러그 인에서 구성 요소의 성능 상태 정보에 대한 잘못된 정보를 제공했습니다. |
0x61B |
POP_FX_DEVICE 디바이스 |
구성 요소 인덱스 |
예약됨 |
드라이버가 디바이스 성능 상태를 등록하기 전에 성능 상태 요청을 실행했습니다. |
0x61C |
POP_FX_DEVICE 디바이스 |
구성 요소 인덱스 |
잘못된 매개 변수 값: 0: PerfChangesCount가 이 구성 요소에 대해 등록된 성능 상태 집합 수를 초과합니다. |
드라이버가 잘못된 매개 변수를 사용하여 성능 상태 요청을 실행했습니다. |
0x61D |
POP_FX_DEVICE 디바이스 |
구성 요소 인덱스 |
미해결 요청 컨텍스트 |
이전 요청이 미해결 상태인 동안 드라이버가 성능 상태 요청을 실행했습니다. |
0x61E |
예약됨 |
예약됨 |
예약됨 |
자동 전환을 사용하는 동안 파워 엔진 플러그 인이 디버거 디바이스에서 중요한 전환을 수행하려고 했습니다. |
0x61F |
POP_FX_DEVICE 디바이스 |
조정된 유휴 상태 인덱스 |
예약됨 |
Power Engine 플러그 인이 플랫폼 전체 상태가 아닌 조정된 유휴 상태에 대해 자동 디버거 전환을 사용하도록 설정하려고 했습니다. |
0x620 |
POP_FX_DEVICE 디바이스 |
조정된 유휴 상태 인덱스 |
예약됨 |
Power Engine 플러그 인이 플랫폼 전체 상태가 아닌 조정된 유휴 상태에 대한 D 상태 종속성을 등록하려고 했습니다. |
0x621 |
POP_FX_DEVICE 디바이스 |
구성 요소 인덱스 |
조정된 유휴 상태 인덱스 |
전원 엔진 플러그 인이 플랫폼 전체 상태가 아닌 조정된 유휴 상태에 대한 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 |
기본 파워 엔진 플러그 인은 다른 활동과 충돌하는 새 활동을 트리거하려고 했습니다. |
0x667 |
POP_PEP_ACTIVITY |
활동 유형입니다. 0: DevicePowerOn 1: ComponentIdleStateChange 2: ComponentActivating 3: ComponentActive 4: DevicePowerOff 5: DeviceSuspend |
POP_PEP_ACTIVITY_STATUS |
기본 전원 엔진 플러그 인이 실행되고 있지 않은 작업을 완료하려고 했습니다. |
0x668 |
참조 수가 업데이트되는 PPPM_COORDINATED_STATE. |
이 함수에서 관찰하는 잘못된 참조 수 값입니다. |
업데이트되는 플랫폼 유휴 상태의 마스크입니다. |
기본 전원 엔진 플러그 인은 이전에 제한되지 않은 플랫폼 유휴 상태 제약 조건을 제거하려고 했습니다. |
0x669 |
참조 수가 업데이트되는 PPPM_COORDINATED_STATE. |
이 함수에서 관찰하는 잘못된 참조 수 값입니다. |
예약됨 |
기본 전원 엔진 플러그 인에서 플랫폼 유휴 상태의 가용성에 대해 PoFx에 단독으로 알리려고 시도하는 동안 내부 일관성 오류가 발생했습니다. |
매개 변수 1입니다. | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 원인 |
---|---|---|---|---|
0x680 |
NTSTATUS 오류 코드입니다. |
예약됨 |
예약됨 |
런타임 전원 프레임워크가 누락되거나 형식이 잘못되어 필요한 ACPI 테이블을 구문 분석할 수 없습니다. 이는 일반적으로 BIOS 오류 때문입니다. |
0x700 |
PEPHANDLE |
PEP_PPM_IDLE_SELECT |
예약됨 |
전원 엔진 플러그 인에서 잘못된 프로세서 유휴 종속성을 지정했습니다. |
0x701 |
중단된 프로세서의 선택한 유휴 상태의 인덱스입니다. |
중단된 프로세서의 PRCB 주소 |
중단된 프로세서의 인덱스입니다. |
프로세서가 할당된 간격 내에 유휴 전환을 완료할 수 없습니다. 지정된 프로세서가 중단되었음을 나타냅니다. |
0x702 |
프로세서에서 선택한 유휴 상태의 인덱스입니다. |
프로세서의 유휴 동기화 상태 |
중단된 프로세서의 PRCB 주소 |
OS가 PEP를 통해 명시적 절전 모드 해제를 시작하지 않고 프로세서가 중단 불가능한 상태에서 일어났습니다(필요한 PPM 유휴 동기화 사용). |
0x703 |
PEPHANDLE |
PEP_PPM_QUERY_PLATFORM_STATE |
예약됨 |
파워 엔진 플러그 인이 쿼리 플랫폼 상태 알림 중에 잘못된 프로세서 유휴 종속성을 지정했습니다. |
0x704 |
예약됨 |
예약됨 |
예약됨 |
조정된 유휴 상태 전환이 적시에 완료되지 않았습니다. |
0x705 |
PEPHANDLE |
알림 |
잘못 변경된 필드를 식별하는 4자 태그입니다. .formats 태그를 사용하여 커널 디버거에서 태그를 디코딩하고 태그는 < > 묶습니다. |
전원 엔진 플러그 인이 알림에 전달된 버퍼의 읽기 전용 필드를 변경했습니다. |
0x706 |
알림 |
잘못된 값이 포함된 필드를 식별하는 4자 태그입니다. .formats 태그를 사용하여 커널 디버거에서 태그를 디코딩하고 태그는 < > 묶습니다. |
잘못된 값이 있는 배열에 잘못된 값 또는 인덱스 |
전원 엔진 플러그 인이 알림에 전달된 버퍼의 필드 중 하나에서 잘못된 값을 반환했습니다. |
0 x 800 |
현재 CS 상태 |
예약됨 |
예약됨 |
시스템이 연결된 대기 상태인 동안 모니터가 예기치 않게 켜졌습니다. |
0x801 |
표시 상태 변경 이유 |
표시 상태를 업데이트한 세션의 ID입니다. |
예약됨 |
잘못된 표시 상태 전환이 발생했습니다. |
0x802 |
디스플레이가 꺼진 POWER_MONITOR_REQUEST_REASON |
전원 이벤트 프로세서를 사용하도록 설정하면 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) 인터럽트를 리디렉션하는 동안 IPI를 발급하지 못했습니다. 0x104: (INTERNAL_POWER_ERROR_KE_ARCH_NOT_SUPPORTED) 지원되지 않는 프로세서 아키텍처입니다. |
예약됨 |
예약됨 |
(INTERNAL_POWER_ERROR_KE_SUBCODE) 전원 작동 중 커널 임원에서 내부 오류가 발생했습니다. |
0xAA64 |
오류 코드 |
PSCI 함수 ID 진행 중 |
선택적 내부 컨텍스트 종속 데이터 |
AArm64 PSCI(전원 상태 조정 인터페이스) 함수에 복구할 수 없는 심각한 오류가 발생했습니다. |
해결
일반 참고 사항
앞의 표에서 몇 가지 매개 변수는 구조체에 대한 포인터입니다. 예를 들어 매개 변수 2가 DEVICE_OBJECT 나열된 경우 매개 변수 2는 DEVICE_OBJECT 구조체에 대한 포인터입니다. 일부 구조체는 Windows 드라이버 키트에 포함된 wdm.h에 정의됩니다. 예를 들어 다음 구조체는 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(표시 형식) 명령을 사용하고 이전 단계에서 찾은 값을 인수로 지정합니다.
dt nt!_EXCEPTION_POINTERS argument
이 명령은 구조를 표시합니다. 컨텍스트 레코드의 주소를 기록해 둡니다.
.cxr(컨텍스트 레코드 표시) 명령을 사용하고 이전 단계에서 찾은 컨텍스트 레코드를 레코드로 지정합니다.
.cxr record
이 명령은 레지스터 컨텍스트를 적절한 값으로 설정합니다.
다양한 명령을 사용하여 오류의 원인을 분석합니다. kb(Stack Backtrace 표시)로 시작합니다.
매개 변수 1이 0x7 경우 버그 검사 0xA0 디버깅
스택을 검사합니다. ntoskrnl을 찾습니다! PopExceptionFilter 함수입니다. 이 함수의 첫 번째 인수는 PEXCEPTION_POINTERS 형식입니다. 이 인수의 값을 확인합니다.
dt(표시 형식) 명령을 사용하고 이전 단계에서 찾은 값을 인수로 지정합니다.
dt nt!_EXCEPTION_POINTERS argument
이 명령은 구조를 표시합니다. 컨텍스트 레코드의 주소를 기록해 둡니다.
.cxr(컨텍스트 레코드 표시) 명령을 사용하고 이전 단계에서 찾은 컨텍스트 레코드를 레코드로 지정합니다.
.cxr record
이 명령은 레지스터 컨텍스트를 적절한 값으로 설정합니다.
다양한 명령을 사용하여 오류의 원인을 분석합니다. kb(Stack Backtrace 표시)로 시작합니다.
매개 변수 1이 0x101 경우 버그 검사 0xA0 디버깅
dt(표시 형식) 명령을 사용하고 매개 변수 3의 값을 인수로 지정합니다.
dt nt!_EXCEPTION_POINTERS argument
이 명령은 구조를 표시합니다. 컨텍스트 레코드의 주소를 기록해 둡니다.
.cxr(컨텍스트 레코드 표시) 명령을 사용하고 이전 단계를 레코드로 찾은 컨텍스트 레코드를 지정합니다.
.cxr record
이 명령은 레지스터 컨텍스트를 적절한 값으로 설정합니다.
다양한 명령을 사용하여 오류의 원인을 분석합니다. kb(Stack Backtrace 표시)로 시작합니다.