_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.