AfxIsValidAddress
メモリ アドレスをプログラムのメモリ空間内に完全に含まれていることを検証するテストします。
BOOL AfxIsValidAddress(
const void* lp,
UINT nBytes,
BOOL bReadWrite = TRUE
);
パラメーター
lp
テストするメモリ アドレスへのポインター。nBytes
テストされるメモリのバイト数。bReadWrite
メモリが読み取りおよび書き込みTRUE()、読み取りのための両方であるかどうかを指定します (FALSE)。
戻り値
デバッグで指定されたメモリ ブロックがプログラムのメモリ空間内に完全に含まれている場合、ゼロ以外のビルド; それ以外の場合は 0。
非デバッグ ビルドでは、lpが null でない場合は非ゼロ、それ以外の場合は 0。
解説
アドレスは newによって割り当てられたブロックに制限されません。
使用例
// Allocate a 5 character array, which should have a valid memory address.
char* arr = new char[5];
// Create a null pointer, which should be an invalid memory address.
char* null = (char*)0x0;
ASSERT(AfxIsValidAddress(arr, 5));
ASSERT(!AfxIsValidAddress(null, 5));
必要条件
ヘッダー : afx.h