Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

MINIDUMP_CALLBACK_TYPE enumeration

Identifies the type of information returned by the MiniDumpCallback function. Not all memory failures will cause a callback; for example if the failure is within a stack then the failure is considered to be unrecoverable and the minidump will fail.

Syntax


typedef enum _MINIDUMP_CALLBACK_TYPE { 
  ModuleCallback,
  ThreadCallback,
  ThreadExCallback,
  IncludeThreadCallback,
  IncludeModuleCallback,
  MemoryCallback,
  CancelCallback,
  WriteKernelMinidumpCallback,
  KernelMinidumpStatusCallback,
  RemoveMemoryCallback,
  IncludeVmRegionCallback,
  IoStartCallback,
  IoWriteAllCallback,
  IoFinishCallback,
  ReadMemoryFailureCallback,
  SecondaryFlagsCallback
} MINIDUMP_CALLBACK_TYPE;

Constants

ModuleCallback

The callback function returns module information.

ThreadCallback

The callback function returns thread information.

ThreadExCallback

The callback function returns extended thread information.

IncludeThreadCallback

The callback function indicates which threads are to be included. It is called as the minidump library is enumerating the threads in a process, rather than after the information gathered, as it is with ThreadCallback or ThreadExCallback. It is called for each thread. If the callback function returns FALSE, the current thread is excluded. This allows the caller to obtain information for a subset of the threads in a process, without suspending threads that are not of interest. Alternately, you can modify the ThreadWriteFlags member of the MINIDUMP_CALLBACK_OUTPUT structure and return TRUE to avoid gathering unnecessary information for the thread.

IncludeModuleCallback

The callback function indicates which modules are to be included. The callback function is called as the minidump library is enumerating the modules in a process, rather than after the information is gathered, as it is with ModuleCallback. It is called for each module. If the callback function returns FALSE, the current module is excluded. Alternatively, you can modify the ModuleWriteFlags member of the MINIDUMP_CALLBACK_OUTPUT structure and return TRUE to avoid gathering unnecessary information for the module.

MemoryCallback

The callback function returns a region of memory to be included in the dump. The callback is called only for dumps generated without the MiniDumpWithFullMemory flag. If the callback function returns FALSE or a region of size 0, the callback will not be called again.

DbgHelp 6.1 and earlier:  This value is not supported.

CancelCallback

The callback function returns cancellation information.

DbgHelp 6.1 and earlier:  This value is not supported.

WriteKernelMinidumpCallback

The user-mode minidump has been successfully completed. To initiate a kernel-mode minidump, the callback should return TRUE and set the Handle member of the MINIDUMP_CALLBACK_OUTPUT structure.

DbgHelp 6.1 and earlier:  This value is not supported.

KernelMinidumpStatusCallback

The callback function returns status information for the kernel minidump.

DbgHelp 6.1 and earlier:  This value is not supported.

RemoveMemoryCallback

The callback function returns a region of memory to be excluded from the dump. The callback is called only for dumps generated without the MiniDumpWithFullMemory flag. If the callback function returns FALSE or a region of size 0, the callback will not be called again.

DbgHelp 6.3 and earlier:  This value is not supported.

IncludeVmRegionCallback

The callback function returns information about the virtual memory region. It is called twice for each region during the full-memory writing pass. The VmRegion member of the MINIDUMP_CALLBACK_OUTPUT structure contains the current memory region. You can modify the base address and size of the region, as long as the new region remains a subset of the original region; changes to other members are ignored. If the callback returns TRUE and sets the Continue member of MINIDUMP_CALLBACK_OUTPUT to TRUE, the minidump library will use the region specified by VmRegion as the region to be written. If the callback returns FALSE or if Continue is FALSE, the callback will not be called for additional memory regions.

DbgHelp 6.4 and earlier:  This value is not supported.

IoStartCallback

The callback function indicates that the caller will be providing an alternate I/O routine. If the callback returns TRUE and sets the Status member of MINIDUMP_CALLBACK_OUTPUT to S_FALSE, the minidump library will send all I/O through callbacks. The caller will receive an IoWriteAllCallback callback for each piece of data.

DbgHelp 6.4 and earlier:  This value is not supported.

IoWriteAllCallback

The callback must write all requested bytes or fail. The Io member of the MINIDUMP_CALLBACK_INPUT structure contains the request. If the write operation fails, the callback should return FALSE. If the write operation succeeds, the callback should return TRUE and set the Status member of MINIDUMP_CALLBACK_OUTPUT to S_OK. The caller will receive an IoFinishCallback callback when the I/O has completed.

DbgHelp 6.4 and earlier:  This value is not supported.

IoFinishCallback

The callback returns I/O completion information. If the callback returns FALSE or does not set the Status member of MINIDUMP_CALLBACK_OUTPUT to S_OK, the minidump library assumes the minidump write operation has failed.

DbgHelp 6.4 and earlier:  This value is not supported.

ReadMemoryFailureCallback

There has been a failure to read memory. If the callback returns TRUE and sets the Status member of MINIDUMP_CALLBACK_OUTPUT to S_OK, the memory failure is ignored and the block is omitted from the minidump. Otherwise, this failure results in a failure to write to the minidump.

DbgHelp 6.4 and earlier:  This value is not supported.

SecondaryFlagsCallback

The callback returns secondary information.

DbgHelp 6.5 and earlier:  This value is not supported.

Requirements

Redistributable

DbgHelp.dll 5.1 or later

Header

DbgHelp.h

See also

MINIDUMP_CALLBACK_INPUT
MiniDumpCallback

 

 

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.