我有一些VisualC++代码接收指向缓冲区的指针,该缓冲区包含需要由我的代码处理的数据以及该缓冲区的长度。由于我无法控制的错误,有时此指针未初始化或不适合读取我的代码(即,当我尝试访问缓冲区中的数据时它会导致崩溃。)所以,我需要在使用它之前验证这个指针。我不想使用IsBadReadPtr或IsBadWritePtr,因为每个人都同意它们是错误的。(谷歌他们的例子。)它们也不是线程安全的——在这种情况下这可能不是问题,尽管线程安全的解决方案会很好。我在网上看到了通过使用VirtualQuery或仅在异常处理程序中执行memcpy来完成此任务的建议。但是,需要执行此检查的代码是时间敏感的