KeInitializeCrashDumpHeader 함수(wdm.h)
KeInitializeCrashDumpHeader 루틴은 시스템에서 크래시 덤프 파일에 필요한 헤더 정보를 제공합니다.
구문
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
매개 변수
[in] DumpType
덤프 파일의 형식을 지정합니다. 유일한 유효한 값은 DUMP_TYPE_FULL.
[in] Flags
덤프 파일의 플래그를 지정합니다. 유효한 값은 0뿐입니다.
[out] Buffer
헤더 정보를 수신하는 버퍼에 대한 포인터입니다.
[in] BufferSize
버퍼가 가리키는 버퍼의 크기(바이트)를 지정합니다.
[out, optional] BufferNeeded
필요에 따라 전체 헤더 정보를 보유하는 데 필요한 크기를 받는 변수에 대한 포인터입니다.
반환 값
KeInitializeCrashDumpHeader는 성공 시 STATUS_SUCCESS 반환하거나 실패 시 적절한 NTSTATUS 오류 코드를 반환합니다.
설명
드라이버는 이 루틴을 사용하여 크래시 덤프 파일을 수동으로 만들 수 있습니다. 파일은 언제든지 만들 수 있으며 디버거에서 시스템 상태를 검사하는 데 사용할 수 있습니다.
크래시 덤프 파일을 만들려면 KeInitializeCrashDumpHeader 를 호출하여 헤더를 만든 다음, 메모리 내용을 헤더에 추가합니다. 드라이버가 루틴을 호출한 직후에 메모리 내용을 기록할 필요가 없습니다. 크래시 덤프 파일을 작성하기 전에 언제든지 헤더를 만들 수 있습니다.
루틴은 메모리 내용이 기록되기 전에 호출되도록 설계되었으므로 다음과 같은 제한 사항이 있습니다.
- 루틴은 활성 예외 레코드에 대한 정보를 기록하지 않습니다.
- 시스템 RAM 크기가 변경되면 헤더를 다시 만들어야 합니다.
Windows 8 시작하여 KeInitializeCrashDumpHeader는 KeInitializeCrashDumpHeader가 호출되는 프로세스 컨텍스트에 관계없이 항상 시스템 프로세스 페이지 디렉터리의 기본 주소를 크래시 덤프 헤더에 씁니다. 디버거는 이 디렉터리를 사용하여 시스템 프로세스의 컨텍스트에서 크래시 덤프 파일에 액세스할 수 있습니다.
이전 버전의 Windows에서 KeInitializeCrashDumpHeader 는 호출자의 현재 프로세스 컨텍스트 페이지 디렉터리의 기본 주소를 크래시 덤프 헤더에 씁니다. 따라서 KeInitializeCrashDumpHeader는 시스템 프로세스에서 호출되어야 합니다. 그렇지 않으면 디버거가 파일이 저장된 프로세스 컨텍스트에서 크래시 덤프 파일에 액세스할 수 없습니다.
Windows 8 시작하여 KeInitializeCrashDumpHeader는 WDK(Windows 드라이버 키트)의 Wdm.h 헤더 파일에 선언됩니다. 이전 버전의 WDK에서 이 루틴을 사용하려면 드라이버 코드에 다음 함수 선언을 포함합니다.
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | WINDOWS Server 2003 SP1부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Ntddk.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준 |