Sdílet prostřednictvím


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

Viz také

Referenční dokumentace

Ladění rutin