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 宏和全局函数