共用方式為


_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。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

偵錯常式