_CrtSetDumpClient
Installs an application-defined function to dump _CLIENT_BLOCK
type memory blocks (debug version only).
Syntax
_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );
Parameters
dumpClient
New client-defined memory dump function to hook.
Return value
Returns the previously defined client block dump function.
Remarks
The _CrtSetDumpClient
function allows the application to hook its own function to dump objects stored in _CLIENT_BLOCK
memory blocks. As a result, every time a debug dump function such as _CrtMemDumpAllObjectsSince
or _CrtDumpMemoryLeaks
dumps a _CLIENT_BLOCK
memory block, the application's dump function is called as well. _CrtSetDumpClient
provides an application with an easy method for detecting memory leaks and validating or reporting the contents of data stored in _CLIENT_BLOCK
blocks. When _DEBUG
isn't defined, calls to _CrtSetDumpClient
are removed during preprocessing.
The _CrtSetDumpClient
function installs the new application-defined dump function specified in dumpClient
and returns the previously defined dump function. An example of a client block dump function is as follows:
void DumpClientFunction( void *userPortion, size_t blockSize );
The userPortion
argument is a pointer to the beginning of the user data portion of the memory block and blockSize
specifies the size of the allocated memory block in bytes. The client block dump function must return void
. The pointer to the client dump function that is passed to _CrtSetDumpClient
is of type _CRT_DUMP_CLIENT
, as defined in Crtdbg.h:
typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );
For more information about functions that operate on _CLIENT_BLOCK
type memory blocks, see Client block hook functions. The _CrtReportBlockType
function can be used to return information about block types and subtypes.
Requirements
Routine | Required header |
---|---|
_CrtSetDumpClient |
<crtdbg.h> |
For more compatibility information, see Compatibility.
Libraries
Debug versions of C run-time libraries only.