_CrtIsValidPointer
验证中指定的内存范围用于读取和写入有效的 (请只调试版本)。
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
参数
地址
指向内存范围的起始值测试有效性。size
指定的内存范围的大小 (以字节为单位)。访问
确定的读/写可访问性为内存范围。
返回值
因此,如果指定的内存范围为指定的操作或操作,是有效的**_CrtIsValidPointer** 返回 TRUE。 否则,该函数返回错误。
备注
_CrtIsValidPointer 功能验证在 地址的 内存范围开头和扩展 size 字节的指定的可访问性操作或操作是有效的。 在 访问 设置为 true,则内存范围对于读取和写入进行验证。 当 地址 为 false 时,内存范围用于读取只验证。 当 _DEBUG 未定义时,在预处理期间,对 _CrtIsValidPointer 中移除。
由于此函数返回 TRUE 或 false,则可以通过某个 _ASSERT 宏创建一个简单的调试错误处理机制。 ,如果内存范围对于读取和写入操作,无效的下面的示例生成断言失败:
_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );
有关 _CrtIsValidPointer 方式的更多信息可与其他调试函数和宏,请参见 使用验证或报告的宏。 有关如何的信息存储在基堆的调试版本中分配,初始化,并管理,请参见 内存管理和调试堆。
要求
实例 |
必需的头 |
---|---|
_CrtIsValidPointer |
crtdbg.h |
有关更多兼容性信息,请参见中介绍的 兼容性 。
库
只调试 C 运行库 的版本。
示例
为 _CrtIsValidHeapPointer 主题参见示例。
.NET Framework 等效项
不适用。若要调用标准 C 函数,请使用 PInvoke。有关更多信息,请参见 平台调用示例。