#include "iop.h"
#include "ntddft.h"
#include <inbv.h>
#include <windef.h>
Go to the source code of this file.
Defines | |
#define | min3(_a, _b, _c) ( min ( min ((_a), (_b)), min ((_a), (_c))) ) |
#define | IO_DUMP_MAXIMUM_TRANSFER_SIZE ( 1024 * 64 ) |
#define | IO_DUMP_MINIMUM_TRANSFER_SIZE ( 1024 * 32 ) |
#define | IO_DUMP_MINIMUM_FILE_SIZE ( PAGE_SIZE * 256 ) |
#define | MAX_UNICODE_LENGTH ( 512 ) |
#define | DEFAULT_DRIVER_PATH L"\\SystemRoot\\System32\\Drivers\\" |
#define | DEFAULT_DUMP_DRIVER L"\\SystemRoot\\System32\\Drivers\\diskdump.sys" |
#define | SCSIPORT_DRIVER_NAME L"scsiport.sys" |
#define | MAX_TRIAGE_STACK_SIZE ( 16 * 1024 ) |
#define | DEFAULT_TRIAGE_DUMP_FLAGS (0xFFFFFFFF) |
#define | IoDebugPrint(X) |
#define | DmpPoolStringSize(DumpString) (sizeof (DUMP_STRING) + sizeof (WCHAR) * ( DumpString->Length + 1 )) |
#define | DmpNextPoolString(DumpString) |
#define | ALIGN_8(_x) ALIGN_UP(_x, DWORDLONG) |
#define | IndexByByte(Pointer, Index) (&(((BYTE*) (Pointer)) [Index])) |
Functions | |
NTSTATUS | IopWriteTriageDump (IN ULONG FieldsToWrite, IN PDUMP_DRIVER_WRITE WriteRoutine, IN OUT PLARGE_INTEGER Mcb, IN OUT PMDL Mdl, IN ULONG DiverTransferSize, IN PCONTEXT Context, IN LPBYTE Buffer, IN ULONG BufferSize, IN ULONG ServicePackBuild, IN ULONG TriageOptions) |
NTSTATUS | IopWriteSummaryDump (IN PRTL_BITMAP PageMap, IN PDUMP_DRIVER_WRITE WriteRoutine, IN PANSI_STRING ProgressMessage, IN PUCHAR MessageBuffer, IN OUT PLARGE_INTEGER Mcb, IN ULONG DiverTransferSize) |
NTSTATUS | IopWriteToDisk (IN PVOID Buffer, IN ULONG WriteLength, IN PDUMP_DRIVER_WRITE DriverWriteRoutine, IN OUT PLARGE_INTEGER *Mcb, IN OUT PMDL Mdl, IN ULONG DriverTransferSize) |
VOID | IopMapPhysicalMemory (IN OUT PMDL Mdl, IN ULONG_PTR MemoryAddress, IN PPHYSICAL_MEMORY_RUN PhysicalMemoryRun, IN ULONG Length) |
NTSTATUS | IopLoadDumpDriver (IN OUT PDUMP_STACK_CONTEXT DumpStack, IN PWCHAR DriverNameString, IN PWCHAR NewBaseNameString) |
NTSTATUS | IoSetCrashDumpState (IN SYSTEM_CRASH_STATE_INFORMATION *pDumpState) |
PSUMMARY_DUMP_HEADER | IopInitializeSummaryDump (IN PDUMP_CONTROL_BLOCK pDcb) |
NTSTATUS | IopWriteSummaryHeader (IN PSUMMARY_DUMP_HEADER pSummaryHeader, IN PDUMP_DRIVER_WRITE pfWrite, IN OUT PLARGE_INTEGER *pMcbBuffer, IN OUT PMDL pMdl, IN ULONG dwWriteSize, IN ULONG dwLength) |
VOID | IopMapVirtualToPhysicalMdl (IN OUT PMDL pMdl, IN ULONG_PTR dwMemoryAddress, IN ULONG dwLength) |
ULONG | IopCreateSummaryDump (IN PSUMMARY_DUMP_HEADER pHeader) |
VOID | IopDeleteNonExistentMemory (PSUMMARY_DUMP_HEADER pHeader, PPHYSICAL_MEMORY_DESCRIPTOR MmPhysicalMemoryBlock) |
NTSTATUS | IopGetDumpStack (IN PWCHAR ModulePrefix, OUT PDUMP_STACK_CONTEXT *pDumpStack, IN PUNICODE_STRING pUniDeviceName, IN PWSTR pDumpDriverName, IN DEVICE_USAGE_NOTIFICATION_TYPE UsageType, IN ULONG IgnoreDeviceUsageFailure) |
BOOLEAN | IopInitializeDCB () |
LARGE_INTEGER | IopCalculateRequiredDumpSpace (IN ULONG dwDmpFlags, IN ULONG dwHeaderSize, IN PFN_NUMBER dwMaxPages, IN PFN_NUMBER dwMaxSummaryPages) |
NTSTATUS | IopCompleteDumpInitialization (IN HANDLE FileHandle) |
BOOLEAN | IopIsAddressRangeValid (IN PVOID VirtualAddress, IN SIZE_T Length) |
NTSTATUS | IoGetDumpStack (IN PWCHAR ModulePrefix, OUT PDUMP_STACK_CONTEXT *pDumpStack, IN DEVICE_USAGE_NOTIFICATION_TYPE UsageType, IN ULONG IgnoreDeviceUsageFailure) |
NTSTATUS | IopGetDumpStack (IN PWCHAR ModulePrefix, OUT PDUMP_STACK_CONTEXT *pDumpStack, IN PUNICODE_STRING pUniDeviceName, IN PWCHAR pDumpDriverName, IN DEVICE_USAGE_NOTIFICATION_TYPE UsageType, IN ULONG IgnoreDeviceUsageFailure) |
ULONG | IopGetDumpControlBlockCheck (IN PDUMP_CONTROL_BLOCK Dcb) |
NTSTATUS | IoInitializeDumpStack (IN PDUMP_STACK_CONTEXT DumpStack, IN PUCHAR MessageBuffer OPTIONAL) |
VOID | IoGetDumpHiberRanges (IN PVOID HiberContext, IN PDUMP_STACK_CONTEXT DumpStack) |
VOID | IoFreeDumpStack (IN PDUMP_STACK_CONTEXT DumpStack) |
NTSTATUS | IopInitializeDumpSpaceAndType (IN PDUMP_CONTROL_BLOCK dcb, IN OUT PULONG block, IN PSUMMARY_DUMP_HEADER pSummaryHeader) |
BOOLEAN | IoWriteCrashDump (IN ULONG BugCheckCode, IN ULONG_PTR BugCheckParameter1, IN ULONG_PTR BugCheckParameter2, IN ULONG_PTR BugCheckParameter3, IN ULONG_PTR BugCheckParameter4, IN PVOID ContextSave) |
VOID | IopAddPageToPageMap (IN ULONG dwMaxPage, IN PRTL_BITMAP pBitMapHeader, IN ULONG dwPageFrameIndex, IN ULONG dwNumberOfPages) |
VOID | IopRemovePageFromPageMap (IN ULONG dwMaxPage, IN PRTL_BITMAP pBitMapHeader, IN ULONG dwPageFrameIndex, IN ULONG dwNumberOfPages) |
NTKERNELAPI NTSTATUS | IoGetCrashDumpInformation (OUT PSYSTEM_CRASH_DUMP_INFORMATION pCrashDumpInfo) |
NTKERNELAPI NTSTATUS | IoGetCrashDumpStateInformation (OUT PSYSTEM_CRASH_STATE_INFORMATION pCrashDumpState) |
NTSTATUS | IoSetDumpRange (IN PVOID DumpContext, IN PVOID StartVa, IN ULONG_PTR Pages, IN BOOLEAN IsPhysicalAddress) |
NTSTATUS | IoFreeDumpRange (IN PVOID DumpContext, IN PVOID StartVa, IN ULONG_PTR Pages, IN BOOLEAN IsPhysicalAddress) |
NTSTATUS | IopGetLoadedDriverInfo (OUT ULONG *lpDriverCount, OUT ULONG *lpSizeOfStringData) |
NTSTATUS | IopWriteDriverList (IN ULONG_PTR BufferAddress, IN ULONG BufferSize, IN ULONG DriverListOffset, IN ULONG StringPoolOffset) |
NTSTATUS | IopWriteTriageDump (IN ULONG Fields, IN PDUMP_DRIVER_WRITE DriverWriteRoutine, IN OUT PLARGE_INTEGER Mcb, IN OUT PMDL Mdl, IN ULONG DriverTransferSize, IN PCONTEXT Context, IN BYTE *Buffer, IN ULONG BufferSize, IN ULONG ServicePackBuild, IN ULONG TriageOptions) |
NTSTATUS | IopWritePageToDisk (IN PDUMP_DRIVER_WRITE DriverWrite, IN OUT PLARGE_INTEGER *McbBuffer, IN OUT ULONG DriverTransferSize, IN PFN_NUMBER PageFrameIndex) |
NTSTATUS | IopWriteSummaryDump (IN PRTL_BITMAP PageMap, IN PDUMP_DRIVER_WRITE DriverWriteRoutine, IN PANSI_STRING ProgressMessage, IN PUCHAR MessageBuffer, IN OUT PLARGE_INTEGER Mcb, IN OUT ULONG DriverTransferSize) |
VOID | IopFreeDCB (BOOLEAN FreeDCB) |
VOID | IopReadDumpRegistry (OUT PULONG dumpControl, OUT PULONG numberOfHeaderPages, OUT PULONG autoReboot, OUT PULONG dumpFileSize) |
BOOLEAN | IopConfigureCrashDump (IN HANDLE hPageFile) |
Variables | |
PVOID | MmPfnDatabase |
PFN_NUMBER | MmHighestPossiblePhysicalPage |
NTSTATUS | IopFinalCrashDumpStatus = -1 |
ULONG | IopCrashDumpStateChange = 0 |
BOOLEAN | IopDumpFileContainsNewDump = FALSE |
|
Definition at line 2672 of file dumpctl.c. Referenced by IopWriteTriageDump(). |
|
|
|
Definition at line 92 of file dumpctl.c. Referenced by IoGetDumpStack(). |
|
Definition at line 95 of file dumpctl.c. Referenced by IopInitializeDCB(). |
|
Value:
Definition at line 2664 of file dumpctl.c. Referenced by IopWriteDriverList(). |
|
|
|
Definition at line 2676 of file dumpctl.c. Referenced by IopWriteTriageDump(), TriageGetLoaderEntry(), TriageGetMmInformation(), TriagepGetTriagePointer(), and TriagepVerifyDump(). |
|
Definition at line 86 of file dumpctl.c. Referenced by IopWriteToDisk(), and IoWriteCrashDump(). |
|
Definition at line 88 of file dumpctl.c. Referenced by IopCalculateRequiredDumpSpace(). |
|
Definition at line 87 of file dumpctl.c. Referenced by IopWriteToDisk(), and IoWriteCrashDump(). |
|
|
Definition at line 94 of file dumpctl.c. Referenced by IopWriteTriageDump(). |
|
|
|
Definition at line 68 of file dumpctl.c. Referenced by IopWritePageToDisk(). |
|
Definition at line 93 of file dumpctl.c. Referenced by IopGetDumpStack(). |
|
Definition at line 2400 of file dumpctl.c. References ASSERT, IoDebugPrint, IopRemovePageFromPageMap(), MmGetPhysicalAddress(), MmIsAddressValid(), PAGE_SHIFT, and PAGE_SIZE. Referenced by MmSetKernelDumpRange().
|
|
Definition at line 1300 of file dumpctl.c. References _INITIALIZATION_CONTEXT::AdapterObject, ASSERT, _INITIALIZATION_CONTEXT::CommonBuffer, DeviceUsageTypeUndefined, Event(), Executive, ExFreePool(), FALSE, _IO_STACK_LOCATION::FileObject, HalFreeCommonBuffer(), IoBuildDeviceIoControlRequest(), IoCallDriver, IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), IopSynchronousCall(), Irp, IRP_MJ_PNP, IRP_MN_DEVICE_USAGE_NOTIFICATION, KeInitializeEvent, KernelMode, KeWaitForSingleObject(), _IO_STACK_LOCATION::MajorFunction, _IO_STACK_LOCATION::MinorFunction, MmFreeContiguousMemory(), MmUnloadSystemImage(), NTSTATUS(), NULL, ObDereferenceObject, PAGED_CODE, _IO_STACK_LOCATION::Parameters, PDUMP_STACK_IMAGE, _INITIALIZATION_CONTEXT::PhysicalAddress, Status, and VOID(). Referenced by IopFreeDCB(), and IopGetDumpStack().
|
|
Definition at line 2217 of file dumpctl.c. References IopDumpControlBlock, and NULL. Referenced by NtQuerySystemInformation().
|
|
Definition at line 2260 of file dumpctl.c. References FALSE. Referenced by NtQuerySystemInformation().
|
|
Definition at line 1233 of file dumpctl.c. References PDUMP_STACK_IMAGE, PO_MEM_CL_OR_NCHK, and PoSetHiberRange().
|
|
Definition at line 335 of file dumpctl.c. References DEFAULT_DUMP_DRIVER, IoArcBootDeviceName, IopGetDumpStack(), and PAGED_CODE. Referenced by IopConfigureCrashDump().
|
|
Definition at line 1142 of file dumpctl.c. References InbvDisplayString(), IoDebugPrint, NT_SUCCESS, NTSTATUS(), NULL, _INITIALIZATION_CONTEXT::OpenRoutine, PDRIVER_INITIALIZE, PDUMP_STACK_IMAGE, and Status. Referenced by IoWriteCrashDump().
|
|
Definition at line 2172 of file dumpctl.c. References RtlSetBits(). Referenced by IoSetDumpRange().
|
|
Definition at line 2492 of file dumpctl.c. References DCB_DUMP_ENABLED, DCB_DUMP_HEADER_ENABLED, DCB_SUMMARY_DUMP_ENABLED, DCB_SUMMARY_ENABLED, DCB_TRIAGE_DUMP_ENABLED, IO_DUMP_MINIMUM_FILE_SIZE, MmVirtualBias, PAGE_SHIFT, PAGE_SIZE, and ROUND_TO_PAGES. Referenced by IopConfigureCrashDump(), and IopInitializeDumpSpaceAndType().
|
|
Definition at line 4061 of file dumpctl.c. References ASSERT, DO_SYSTEM_BOOT_PARTITION, _DUMP_CONTROL_BLOCK::DumpFileSize, Executive, FALSE, _DUMP_CONTROL_BLOCK::FileDescriptorArray, _DUMP_CONTROL_BLOCK::FileDescriptorSize, _DEVICE_OBJECT::Flags, IoFileObjectType, IopDumpControlBlock, IopDumpControlBlockChecksum, IopGetDumpControlBlockCheck(), IopLogErrorEvent(), KernelMode, KeWaitForSingleObject(), NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObReferenceObjectByHandle(), and Status. Referenced by IopConfigureCrashDump().
|
|
Definition at line 4746 of file dumpctl.c. References DCB_DUMP_ENABLED, DCB_SUMMARY_ENABLED, DeviceUsageTypeDumpFile, DO_SYSTEM_BOOT_PARTITION, _DUMP_CONTROL_BLOCK::DumpFileSize, _DUMP_CONTROL_BLOCK::DumpStack, ExAllocatePoolWithTag, FALSE, _DUMP_CONTROL_BLOCK::Flags, _DEVICE_OBJECT::Flags, _DUMP_CONTROL_BLOCK::HeaderSize, IO_DUMP_MEMORY_BLOCK_PAGES, IoDebugPrint, IoFileObjectType, IoGetDumpStack(), IopCalculateRequiredDumpSpace(), IopCompleteDumpInitialization(), IopDumpControlBlock, IopFreeDCB(), IopInitializeDCB(), IopLogErrorEvent(), KernelMode, L, _DUMP_CONTROL_BLOCK::MemoryDescriptor, NonPagedPool, NT_SUCCESS, NULL, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfPages, ObDereferenceObject, ObReferenceObjectByHandle(), PAGE_SIZE, and TRUE. Referenced by IoPageFileCreated().
|
|
Definition at line 3815 of file dumpctl.c. References FALSE, _DUMP_CONTROL_BLOCK::HeaderPage, _DUMP_CONTROL_BLOCK::HeaderSize, IoDebugPrint, IopDeleteNonExistentMemory(), IopDumpControlBlock, IoSetDumpRange(), MmHighestUserAddress, MmIsAddressValid(), MmPhysicalMemoryBlock, MmSetKernelDumpRange(), NT_SUCCESS, PAGE_SHIFT, PAGE_SIZE, RtlClearAllBits(), and RtlNumberOfSetBits(). Referenced by IopInitializeSummaryDump().
|
|
Definition at line 3953 of file dumpctl.c. References _PHYSICAL_MEMORY_RUN::BasePage, IoDebugPrint, IopRemovePageFromPageMap(), MmPhysicalMemoryBlock, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfRuns, _PHYSICAL_MEMORY_RUN::PageCount, and _PHYSICAL_MEMORY_DESCRIPTOR::Run. Referenced by IopCreateSummaryDump().
|
|
Definition at line 4252 of file dumpctl.c. References DCB_AUTO_REBOOT, _DUMP_CONTROL_BLOCK::DumpStack, ExFreePool(), _DUMP_CONTROL_BLOCK::FileDescriptorArray, _DUMP_CONTROL_BLOCK::Flags, _DUMP_CONTROL_BLOCK::HeaderPage, IoDebugPrint, IoFreeDumpStack(), IopDumpControlBlock, _DUMP_CONTROL_BLOCK::MemoryDescriptor, NTSTATUS(), and NULL. Referenced by IopConfigureCrashDump(), and IoSetCrashDumpState().
|
|
Definition at line 1062 of file dumpctl.c. References DUMP_CONTROL_BLOCK, NULL, PDUMP_STACK_CONTEXT, PDUMP_STACK_IMAGE, and PoSimpleCheck(). Referenced by IopCompleteDumpInitialization(), and IoWriteCrashDump().
|
|
Definition at line 384 of file dumpctl.c. References _INITIALIZATION_CONTEXT::AdapterObject, ASSERT, Buffer, _INITIALIZATION_CONTEXT::CommonBuffer, _INITIALIZATION_CONTEXT::CommonBufferSize, _DRIVER_OBJECT::DeviceObject, DeviceUsageTypeUndefined, _INITIALIZATION_CONTEXT::DiskSignature, _DRIVER_OBJECT::DriverName, _DEVICE_OBJECT::DriverObject, Event(), ExAllocatePoolWithTag, Executive, ExFreePool(), FALSE, _IO_STACK_LOCATION::FileObject, HalAllocateCommonBuffer(), INITIALIZATION_CONTEXT, IO_DUMP_COMMON_BUFFER_SIZE, IO_STACK_LOCATION, IoBuildDeviceIoControlRequest(), IoCallDriver, IoDebugPrint, IoFileObjectType, IoFreeDumpStack(), IoGetNextIrpStackLocation, IoGetRelatedDeviceObject(), IopLoadDumpDriver(), IopLogErrorEvent(), IopSynchronousCall(), Irp, IRP_MJ_PNP, IRP_MN_DEVICE_USAGE_NOTIFICATION, KeGetBugMessageText(), KeInitializeEvent, KernelMode, KeStallExecutionProcessor(), KeWaitForSingleObject(), L, _INITIALIZATION_CONTEXT::Length, _IO_STACK_LOCATION::MajorFunction, _INITIALIZATION_CONTEXT::MappedRegisterBase, _IO_STACK_LOCATION::MinorFunction, MmAllocateContiguousMemory(), MmAllocateNonCachedMemory(), MmGetPhysicalAddress(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, ObDereferenceObject, ObjectAttributes, ObReferenceObjectByHandle(), PAGE_SIZE, PagedPool, _IO_STACK_LOCATION::Parameters, PDMA_ADAPTER, PDUMP_STACK_CONTEXT, _INITIALIZATION_CONTEXT::PhysicalAddress, PINITIALIZATION_CONTEXT, _INITIALIZATION_CONTEXT::PortConfiguration, RtlAnsiStringToUnicodeString(), RtlFreeUnicodeString(), RtlInitAnsiString(), SCSIPORT_DRIVER_NAME, sprintf(), _INITIALIZATION_CONTEXT::StallRoutine, Status, _INITIALIZATION_CONTEXT::TargetAddress, TRUE, VOID(), and ZwOpenFile(). Referenced by IoGetDumpStack().
|
|
|
|
Definition at line 2602 of file dumpctl.c. References DriverEntry(), IopIsAddressRangeValid(), and PsLoadedModuleList. Referenced by IopWriteTriageDump().
|
|
Definition at line 4580 of file dumpctl.c. References _DUMP_CONTROL_BLOCK::BuildNumber, CmNtCSDVersion, DCB_AUTO_REBOOT, DCB_SUMMARY_ENABLED, DCB_TRIAGE_DUMP_ENABLED, DEFAULT_TRIAGE_DUMP_FLAGS, _DUMP_CONTROL_BLOCK::DumpFileSize, ExAllocatePoolWithTag, ExFreePool(), FALSE, _DUMP_CONTROL_BLOCK::Flags, _DUMP_CONTROL_BLOCK::HeaderPage, _DUMP_CONTROL_BLOCK::HeaderPfn, _DUMP_CONTROL_BLOCK::HeaderSize, IO_TYPE_DCB, IoDebugPrint, IopDumpControlBlock, IopLogErrorEvent(), IopReadDumpRegistry(), KeNumberProcessors, KeProcessorArchitecture, _DUMP_CONTROL_BLOCK::MajorVersion, _DUMP_CONTROL_BLOCK::MemoryDescriptor, _DUMP_CONTROL_BLOCK::MemoryDescriptorLength, MINIPORT_NODE, _DUMP_CONTROL_BLOCK::MinorVersion, MmGetPhysicalAddress(), MmPhysicalMemoryBlock, NonPagedPool, NtBuildNumber, NTSTATUS(), NULL, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfRuns, _DUMP_CONTROL_BLOCK::NumberProcessors, PAGE_SHIFT, PAGE_SIZE, _DUMP_CONTROL_BLOCK::ProcessorArchitecture, _DUMP_CONTROL_BLOCK::Size, _DUMP_CONTROL_BLOCK::TriageDumpBuffer, _DUMP_CONTROL_BLOCK::TriageDumpBufferSize, _DUMP_CONTROL_BLOCK::TriageDumpFlags, TRUE, _DUMP_CONTROL_BLOCK::Type, and USHORT. Referenced by IopConfigureCrashDump().
|
|
Definition at line 1452 of file dumpctl.c. References DCB_DUMP_HEADER_ENABLED, DCB_SUMMARY_DUMP_ENABLED, DCB_TRIAGE_DUMP_ENABLED, IoDebugPrint, IopCalculateRequiredDumpSpace(), and Space. Referenced by IoWriteCrashDump().
|
|
Definition at line 3442 of file dumpctl.c. References _PHYSICAL_MEMORY_RUN::BasePage, IoDebugPrint, IopCreateSummaryDump(), MmPhysicalMemoryBlock, NULL, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfRuns, _PHYSICAL_MEMORY_RUN::PageCount, and _PHYSICAL_MEMORY_DESCRIPTOR::Run. Referenced by IoWriteCrashDump().
|
|
Definition at line 287 of file dumpctl.c. References COMPUTE_PAGES_SPANNED, FALSE, LPVOID, MmIsAddressValid(), PAGE_ALIGN, PAGE_SIZE, and TRUE. Referenced by IopGetLoadedDriverInfo(), and IopWriteDriverList().
|
|
Definition at line 954 of file dumpctl.c. References BaseName, ExAllocatePoolWithTag, ExFreePool(), IoDebugPrint, MmLoadAndLockSystemImage(), NonPagedPool, NT_SUCCESS, NTSTATUS(), NULL, PDUMP_STACK_IMAGE, RtlAppendUnicodeStringToString(), RtlAppendUnicodeToString(), RtlInitUnicodeString(), and Status. Referenced by IopGetDumpStack().
|
|
Definition at line 2081 of file dumpctl.c. References _PHYSICAL_MEMORY_RUN::BasePage, COMPUTE_PAGES_SPANNED, MmGetMdlPfnArray, MmMapMemoryDumpMdl(), PAGE_ALIGN, PAGE_SHIFT, PAGE_SIZE, and _PHYSICAL_MEMORY_RUN::PageCount. Referenced by IoWriteCrashDump().
|
|
Definition at line 3759 of file dumpctl.c. References COMPUTE_PAGES_SPANNED, IoDebugPrint, MDL_MAPPED_TO_SYSTEM_VA, MmGetMdlPfnArray, MmGetPhysicalAddress(), PAGE_ALIGN, PAGE_SHIFT, and PAGE_SIZE. Referenced by IopWriteSummaryHeader(), and IopWriteToDisk().
|
|
Definition at line 4379 of file dumpctl.c. References BYTES_TO_PAGES, DCB_DUMP_ENABLED, DCB_SUMMARY_DUMP_ENABLED, DCB_SUMMARY_ENABLED, DCB_TRIAGE_DUMP_ACT_UPON_ENABLED, DCB_TRIAGE_DUMP_ENABLED, ExFreePool(), FALSE, IoDebugPrint, IopGetRegistryValue(), IopOpenRegistryKey(), L, MmPhysicalMemoryBlock, NT_SUCCESS, NtClose(), NTSTATUS(), NULL, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfPages, PAGE_SHIFT, PAGE_SIZE, RtlInitUnicodeString(), and TRUE. Referenced by IopInitializeDCB().
|
|
Definition at line 2193 of file dumpctl.c. References IoDebugPrint, and RtlClearBits(). Referenced by IoFreeDumpRange(), and IopDeleteNonExistentMemory().
|
|
Definition at line 2681 of file dumpctl.c. References ASSERT, DmpNextPoolString, DriverEntry(), IopIsAddressRangeValid(), MmDbgReadCheck(), NULL, PsLoadedModuleList, and RtlImageNtHeader(). Referenced by IopWriteTriageDump().
|
|
Definition at line 3183 of file dumpctl.c. References ASSERT, _MDL::ByteCount, _MDL::ByteOffset, _MDL::MappedSystemVa, MDL_MAPPED_TO_SYSTEM_VA, MDL_PAGES_LOCKED, _MDL::MdlFlags, min3, MmGetMdlPfnArray, MmInitializeMdl, MmMapMemoryDumpMdl(), NT_SUCCESS, NTSTATUS(), NULL, PAGE_ALIGN, PAGE_SIZE, _MDL::StartVa, and Status. Referenced by IopWriteSummaryDump().
|
|
Definition at line 3329 of file dumpctl.c. References ASSERT, InbvDisplayString(), IoDebugPrint, IopWritePageToDisk(), NT_SUCCESS, NTSTATUS(), NULL, RtlNumberOfSetBits(), sprintf(), and Status. Referenced by IoWriteCrashDump().
|
|
|
|
Definition at line 3520 of file dumpctl.c. References IoDebugPrint, IopMapVirtualToPhysicalMdl(), NT_SUCCESS, NTSTATUS(), PAGE_SIZE, and Status. Referenced by IoWriteCrashDump().
|
|
Definition at line 3638 of file dumpctl.c. References ASSERT, Buffer, BYTE_OFFSET, _DUMP_CONTROL_BLOCK::FileDescriptorArray, _DUMP_CONTROL_BLOCK::FileDescriptorSize, IO_DUMP_MAXIMUM_TRANSFER_SIZE, IO_DUMP_MINIMUM_TRANSFER_SIZE, IoDebugPrint, IopDumpControlBlock, IopMapVirtualToPhysicalMdl(), min, and NT_SUCCESS. Referenced by IopWriteTriageDump().
|
|
Definition at line 2795 of file dumpctl.c. References ALIGN_8, ALIGN_UP, ASSERT, Buffer, BufferSize, DriverEntry(), DWORD, IndexByByte, _KTHREAD::InitialStack, IoDebugPrint, IopGetLoadedDriverInfo(), IopWriteDriverList(), IopWriteToDisk(), KeGetCurrentPrcb, KeGetCurrentThread, _KTHREAD::KernelStackResident, LPVOID, MAX_TRIAGE_STACK_SIZE, min, MmSizeOfTriageInformation(), MmSizeOfUnloadedDriverInformation(), MmWriteTriageInformation(), MmWriteUnloadedDriverInformation(), NT_SUCCESS, NTSTATUS(), NULL, Offset, PAGE_SIZE, PsGetCurrentProcess, PsGetCurrentThread, Status, and _ETHREAD::Tcb. Referenced by IoWriteCrashDump().
|
|
|
|
Referenced by NtSetSystemInformation(). |
|
Definition at line 2291 of file dumpctl.c. References ASSERT, FALSE, IopAddPageToPageMap(), MmGetPhysicalAddress(), MmIsAddressValid(), PAGE_SHIFT, PAGE_SIZE, and TRUE. Referenced by IopCreateSummaryDump(), and MmSetKernelDumpRange().
|
|
Definition at line 1519 of file dumpctl.c. References ASSERT, _PHYSICAL_MEMORY_RUN::BasePage, BitMap, _DUMP_CONTROL_BLOCK::BuildNumber, _MDL::ByteCount, _MDL::ByteOffset, DCB_AUTO_REBOOT, DCB_DUMP_ENABLED, DCB_DUMP_HEADER_ENABLED, DCB_SUMMARY_DUMP_ENABLED, DCB_SUMMARY_ENABLED, DCB_TRIAGE_DUMP_ENABLED, _DUMP_CONTROL_BLOCK::DumpStack, EXCEPTION_NONCONTINUABLE, FALSE, _DUMP_CONTROL_BLOCK::FileDescriptorArray, _DUMP_CONTROL_BLOCK::Flags, HalRebootRoutine, _DUMP_CONTROL_BLOCK::HeaderPage, _DUMP_CONTROL_BLOCK::HeaderPfn, _DUMP_CONTROL_BLOCK::HeaderSize, InbvDisplayString(), IO_DUMP_MAXIMUM_TRANSFER_SIZE, IO_DUMP_MINIMUM_TRANSFER_SIZE, IoDebugPrint, IoInitializeDumpStack(), IopDumpControlBlock, IopDumpControlBlockChecksum, IopFinalCrashDumpStatus, IopGetDumpControlBlockCheck(), IopInitializeDumpSpaceAndType(), IopInitializeSummaryDump(), IopMapPhysicalMemory(), IopWriteSummaryDump(), IopWriteSummaryHeader(), IopWriteTriageDump(), KdGetDataBlock(), KeGetCurrentThread, KeReturnToFirmware(), _DUMP_CONTROL_BLOCK::MajorVersion, _MDL::MappedSystemVa, MDL_MAPPED_TO_SYSTEM_VA, MDL_PAGES_LOCKED, _MDL::MdlFlags, _DUMP_CONTROL_BLOCK::MemoryDescriptor, _DUMP_CONTROL_BLOCK::MinorVersion, MmCreateMdl(), MmGetMdlPfnArray, MmPfnDatabase, NT_SUCCESS, NTSTATUS(), NULL, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfPages, _PHYSICAL_MEMORY_DESCRIPTOR::NumberOfRuns, _DUMP_CONTROL_BLOCK::NumberProcessors, PAGE_ALIGN, PAGE_SIZE, PDUMP_DRIVER_FINISH, PDUMP_DRIVER_WRITE, PDUMP_STACK_CONTEXT, PHYSICAL_MEMORY_DESCRIPTOR, PsActiveProcessHead, PsLoadedModuleList, _PHYSICAL_MEMORY_DESCRIPTOR::Run, sprintf(), _MDL::StartVa, _DUMP_CONTROL_BLOCK::TriageDumpBuffer, _DUMP_CONTROL_BLOCK::TriageDumpBufferSize, _DUMP_CONTROL_BLOCK::TriageDumpFlags, TRUE, and _DUMP_CONTROL_BLOCK::VersionUser. Referenced by KeBugCheckEx().
|
|
Definition at line 79 of file dumpctl.c. Referenced by IoSetCrashDumpState(). |
|
|
|
Definition at line 78 of file dumpctl.c. Referenced by IoWriteCrashDump(). |
|
Definition at line 76 of file dumpctl.c. Referenced by MiCleanPhysicalProcessPages(), MiInitMachineDependent(), MmAddPhysicalMemory(), MmRemovePhysicalMemory(), MmSetKernelDumpRange(), and NtAllocateUserPhysicalPages(). |
|
Definition at line 75 of file dumpctl.c. Referenced by IoWriteCrashDump(), MiCheckForCrashDump(), MiFreePoolPages(), MiInitMachineDependent(), MiRemovePhysicalPages(), MiUnlinkFreeOrZeroedPage(), MiUnlinkPageFromList(), MmAddPhysicalMemory(), MmAllocatePagesForMdl(), MmRemovePhysicalMemory(), and MmSetKernelDumpRange(). |