Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Ověřuje, že ukazatel nemá hodnotu null. Ve verzích knihovny runtime jazyka C před sadou Visual Studio 2010 ověřuje, jestli je zadaný rozsah paměti platný pro čtení a zápis (pouze ladicí verze).
Syntaxe
int _CrtIsValidPointer(
const void *address,
unsigned int size,
int access
);
Parametry
address
Odkazuje na začátek rozsahu paměti a otestuje platnost.
size
Velikost zadaného rozsahu paměti (v bajtech).
access
Usnadnění čtení a zápisu pro určení rozsahu paměti.
Vrácená hodnota
_CrtIsValidPointer vrátí TRUE , pokud zadaný ukazatel nemá hodnotu null. Ve verzích knihovny CRT před sadou Visual Studio 2010 se vrátí TRUE , pokud je rozsah paměti platný pro zadanou operaci nebo operace. V opačném případě funkce vrátí FALSEhodnotu .
Poznámky
V knihovně CRT v sadě Visual Studio 2010 a novějšíchverzích size access _CrtIsValidPointer address Vzhledem k tomu, že se tento test snadno provádí sami, nedoporučujeme tuto funkci používat. Ve verzích před sadou Visual Studio 2010 funkce ověří, že rozsah paměti začínající na address bajtech a rozšíření pro size bajty je platný pro zadanou operaci nebo operace přístupnosti. Pokud access je nastavená hodnota TRUE, je rozsah paměti ověřený pro čtení i zápis. Pokud access je , FALSErozsah paměti je ověřen pouze pro čtení. Pokud _DEBUG není definováno, volání, která _CrtIsValidPointer se mají odebrat během předběžného zpracování.
Vzhledem k tomu, že tato funkce vrací TRUE nebo FALSE, může být předána do jednoho z _ASSERT maker a vytvořit základní mechanismus zpracování chyb ladění. Následující příklad způsobí selhání kontrolního výrazu, pokud oblast paměti není platná pro operace čtení i zápisu:
_ASSERTE( _CrtIsValidPointer( address, size, TRUE ) );
Další informace o tom, jak _CrtIsValidPointer se dají použít s dalšími ladicími funkcemi a makry, najdete v tématu Makra pro vytváření sestav. Informace o přidělování, inicializaci a správě bloků paměti ve verzi ladění základní haldy naleznete v podrobnostech haldy ladění CRT.
Požadavky
| Rutina | Požadovaný hlavičkový soubor |
|---|---|
_CrtIsValidPointer |
<crtdbg.h> |
_CrtIsValidPointer je rozšíření Microsoftu. Informace o kompatibilitě najdete v tématu Kompatibilita.
Knihovny
Ladění pouze verzí knihoven runtime jazyka C.
Příklad
Podívejte se na příklad _CrtIsValidHeapPointer článku.