用戶端區塊攔截函式
更新:2007 年 11 月
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express 版 |
僅適用原生 |
|||
Standard 版 |
僅適用原生 |
|||
Pro/Team 版 |
僅適用原生 |
表格圖例:
套用 |
|
不套用 |
|
預設隱藏的命令。 |
如果您要驗證或報告儲存在 _CLIENT_BLOCK 區塊裡的資料內容,您可以撰寫符合這個目的的函式。您所撰寫的函式,必須與下列在 CRTDBG.H 裡定義的原型類似:
void YourClientDump(void *, size_t)
換句話說,攔截函式應該接受配置區塊一開頭的 void 指標,以及表示配置大小的 size_t 型別值,並且傳回 void。除此之外,其他的內容則由您決定。
一旦您使用 _CrtSetDumpClient 來安裝攔截函式,每一次 _CLIENT_BLOCK 區塊傾印時都會呼叫它。然後您可以使用 _CrtReportBlockType 來取得傾印區塊的類型或子類型的資訊。
您傳入 _CrtSetDumpClient 的函式指標是定義在 CRTDBG.H 裡的 _CRT_DUMP_CLIENT 類型:
typedef void (__cdecl *_CRT_DUMP_CLIENT)
(void *, size_t);