_CrtIsValidPointer
確認指定的記憶體範圍是適用於讀取及寫入 (偵錯版本)。
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
參數
地址
若要測試有效性的記憶體範圍的起始點。size
範圍的大小指定的記憶體 (以位元組為單位)。存取
若要判斷記憶體範圍的讀取/寫入存取範圍。
傳回值
_CrtIsValidPointer如果指定的記憶體範圍是適用於指定的作業或作業,則傳回 TRUE。 否則,函數會傳回 FALSE。
備註
_CrtIsValidPointer函式會驗證其起始地的記憶體範圍位址 ,長度為size位元組是適用於指定的存取作業或作業。 當存取是設定為 TRUE 時,記憶體範圍已驗證的讀取和寫入。 當位址設為 FALSE,才會進行讀取會進行驗證的記憶體範圍。 當 _DEBUG 尚未定義,會呼叫**_CrtIsValidPointer**在前置處理過程中移除。
這個函數會傳回 TRUE 或 FALSE,因為它可以傳遞給其中一個 _ASSERT 巨集] 以建立簡單的偵錯錯誤處理機制。 以下範例會產生判斷提示失敗,如果記憶體範圍不正確的讀取和寫入作業:
_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );
如需有關如何**_CrtIsValidPointer**可以搭配其他的偵錯函式和巨集,請參閱來進行驗證和報告使用的巨集。 如需有關如何記憶體區塊會配置、 初始化,而且在基底堆積的偵錯版本管理的資訊,請參閱記憶體管理和偵錯堆積。
需求
常式 |
所需的標頭 |
---|---|
_CrtIsValidPointer |
<crtdbg.h> |
如需相容性資訊,請參閱相容性在簡介中。
文件庫
偵錯版本的 C 執行階段程式庫只。
範例
請參閱範例的 _CrtIsValidHeapPointer 主題。
.NET Framework 對等用法
不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例。