Condividi tramite


_CrtIsValidPointer

Verifica che un determinato intervallo di memoria sia valido per la lettura e la scrittura (versione di debug solo).

int _CrtIsValidPointer( 
   const void *address,
   unsigned int size,
   int access 
);

Parametri

  • indirizzo
    I punti nella parte superiore della memoria variano a test la validità.

  • size
    Dimensioni dell'intervallo specificato di memoria (in byte).

  • accesso
    Accessibilità lettura /scrittura per determinare per l'intervallo di memoria.

Valore restituito

_CrtIsValidPointer restituisce TRUE se l'intervallo specificato di memoria è valido per l'operazione o operazioni specificata.In caso contrario, la funzione restituisce FALSE.

Note

_CrtIsValidPointer la funzione viene verificato che l'inizio dell'intervallo di memoria a indirizzo e l'estensione per size i byte sono validi per l'operazione o operazioni specificata di accessibilità.quando accesso è impostato TRUE, l'intervallo di memoria è verificato per la lettura e scrittura.quando indirizzo è FALSE, l'intervallo di memoria solo viene convalidato per leggere.quando _DEBUG non è definito, le chiamate a _CrtIsValidPointer vengono ignorati durante la pre-elaborazione.

Poiché questa funzione restituisce TRUE o FALSE, può essere passata a una di _ASSERT macro per creare un semplice meccanismo di gestione degli errori di debug.L'esempio seguente genera un errore di asserzione se l'intervallo di memoria non è valido per le operazioni di scrittura di lettura:

_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );

per ulteriori informazioni su come _CrtIsValidPointer può essere utilizzato con altre funzioni di debug e le macro, vedere Utilizzando le macro per la verifica e la creazione di rapporti.Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Gestione della memoria e heap di debug.

Requisiti

routine

Intestazione di associazione

_CrtIsValidPointer

<crtdbg.h>

Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.

Librerie

versioni di debug di Librerie di runtime del linguaggio C solo.

Esempio

Vedere l'esempio relativo a _CrtIsValidHeapPointer argomento.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Procedura di debug