次の方法で共有


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

参照

関連項目

AfxIsMemoryBlock

AfxIsValidString

概念

MFC マクロとグローバル