Client Block Hook Functions
Applies to: Visual Studio Visual Studio for Mac
Note
This article applies to Visual Studio 2017. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here
If you want to validate or report the contents of the data stored in _CLIENT_BLOCK
blocks, you can write a function specifically for this purpose. The function that you write must have a prototype similar to the following, as defined in CRTDBG.H:
void YourClientDump(void *, size_t)
In other words, your hook function should accept a void pointer to the beginning of the allocation block, together with a size_t type value indicating the size of the allocation, and return void
. Other than that, its contents are up to you.
Once you have installed your hook function using _CrtSetDumpClient, it will be called every time a _CLIENT_BLOCK
block is dumped. You can then use _CrtReportBlockType to get information on the type or subtype of dumped blocks.
The pointer to your function that you pass to _CrtSetDumpClient
is of type _CRT_DUMP_CLIENT, as defined in CRTDBG.H:
typedef void (__cdecl *_CRT_DUMP_CLIENT)
(void *, size_t);