_CrtIsMemoryBlock
Ověří je blok paměti zadaná v místním haldy a má identifikátor typu bloku haldy platný ladění (pouze ladicí verze).
int _CrtIsMemoryBlock(
const void *userData,
unsigned int size,
long *requestNumber,
char **filename,
int *linenumber
);
Parametry
[v]userData
Ukazatel na začátek bloku paměti ověřit.[v]size
Velikost určeného bloku (v bajtech).[výstup]requestNumber
Ukazatel na počet přidělení bloku nebo NULL.[výstup]filename
Ukazatel myši na název zdrojového souboru, která požadovala bloku nebo NULL.[výstup]linenumber
Ukazatel na číslo řádku ve zdrojovém souboru nebo NULL.
Vrácená hodnota
_CrtIsMemoryBlockVrátí TRUE Pokud je umístěna v místní halda blok paměti určené a identifikátor typu platný ladicí haldy bloku; jinak vrátí funkce FALSE.
Poznámky
_CrtIsMemoryBlock Funkce ověřuje, že blok určený paměti je umístěn v místní haldy aplikace a má identifikátor typu platné bloku.Tuto funkci lze také získat číslo objektu přidělení zakázky a číslo/řádek název zdrojového souboru, kde původně požadoval bloku přidělení paměti.Předání hodnoty NULL requestNumber, filename, nebo linenumber parametrů způsobí _CrtIsMemoryBlock nastavit tyto parametry na hodnoty v bloku paměti ladění záhlaví, pokud zjistí bloku haldy místní.Při _DEBUG není definována, volání do _CrtIsMemoryBlock jsou odebrány při úpravě před zpracováním.
Pokud _CrtIsMemoryBlock selže, vrátí FALSE a výchozí hodnoty jsou inicializovány výstupní parametry: requestNumber a lineNumber jsou nastaveny na 0 a filename je nastavena na NULL.
Protože tato funkce vrací TRUE nebo FALSE, mohou být předány do jedné z _ASSERT makra k vytvoření jednoduchého zpracování mechanismus ladění chyb.V následujícím příkladu způsobí nezdaru při Pokud zadaná adresa není umístěn v rámci místní haldy:
_ASSERTE( _CrtIsMemoryBlock( userData, size, &requestNumber,
&filename, &linenumber ) );
Další informace o _CrtIsMemoryBlock lze použít jiné funkce ladění a makra, viz Použití makra pro ověření a hlášení.Informace o jak jsou bloky paměti přidělené, inicializován a spravuje v ladicí verzi základní haldy Správa paměti a ladění haldy.
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_CrtIsMemoryBlock |
<crtdbg.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Knihovny
Ladění verze C Runtime knihovny pouze.
Příklad
Viz příklad pro _CrtIsValidHeapPointer téma.
Ekvivalent v rozhraní .NET Framework
Nelze použít Použijte volání funkce standardní C, PInvoke. Další informace naleznete v tématu Příklady vyvolat platformu.