次の方法で共有


AfxIsMemoryBlock

更新 : 2007 年 11 月

メモリ アドレスが、デバッグ環境での new 演算子により割り当てられた、現在アクティブなメモリ ブロックを示しているかどうかを調べます。

BOOL AfxIsMemoryBlock(
   const void* p,
   UINT nBytes,
   LONG* plRequestNumber = NULL 
);

パラメータ

  • p
    調べるメモリ ブロックへのポインタ。

  • nBytes
    メモリ ブロックのバイト数。

  • plRequestNumber
    メモリ ブロックの割り当てシーケンス番号を指す long 型整数を指します。または、現在アクティブなメモリ ブロックを表さない場合は 0 を指します。

戻り値

メモリ ブロックが割り当てられていて大きさが正しい場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

また、確保したサイズと指定したサイズが一致しているかどうかを調べます。関数が 0 以外の値を返す場合は、割り当てシーケンス番号が plRequestNumber に返されます。この番号は、ブロックがほかのすべての new 割り当てに対して割り当てられていた順序を示します。

使用例

CAge* pcage = new CAge(21); // CAge is derived from CObject.
ASSERT(AfxIsMemoryBlock(pcage, sizeof(CAge)));

必要条件

ヘッダー : afx.h

参照

概念

MFC マクロとグローバル

参照

AfxIsValidAddress