Aracılığıyla paylaş


_CrtIsMemoryBlock

Belirtilen bellek bloğu yerel yığın içinde olduğunu ve bir geçerli hata ayıklama yığın blok türü tanımlayıcısı'nı (yalnızca hata ayıklama sürümü) sahip olduğunu doğrular.

int _CrtIsMemoryBlock( 
   const void *userData,
   unsigned int size,
   long *requestNumber,
   char **filename,
   int *linenumber 
);

Parametreler

  • [in] userData
    İşaretçidir doğrulamak için bellek bloğunun başlangıcına.

  • [in] size
    (Bayt cinsinden) belirtilen blok boyutu.

  • [out] requestNumber
    Blok ayırma sayısı için işaretçi veya NULL.

  • [out] filename
    Blok istenen kaynak dosyasının adı için işaretçi veya NULL.

  • [out] linenumber
    Kaynak dosyadaki satır numarası için işaretçi veya NULL.

Dönüş Değeri

_CrtIsMemoryBlockdöner TRUE belirtilen bellek bloğu yerel yığında bulunan ve geçerli hata ayıklama yığın blok türü tanımlayıcısı; hata işlevini verir FALSE.

Notlar

_CrtIsMemoryBlock İşlevi, belirtilen bellek bloğu uygulamanın yerel yığında bulunduğunu ve geçerli blok türü tanımlayıcısı olduğunu doğrular.Bu işlev, burada bellek bloğu tahsisatı başlangıçta istenen nesne ayırma sipariş numarası ve kaynak dosya adı/satır numarasını almak için de kullanılabilir.BOŞ olmayan değerleri geçirmek için requestNumber, filename, veya linenumber parametreleri neden _CrtIsMemoryBlock içinde yerel yığın bloğunun bulursa, bu parametreler bellek bloğun hata ayıklama üstbilgi değerleri ayarlamak için.Zaman _DEBUG tanımlı değilse, çağrılar _CrtIsMemoryBlock ön işleme sırasında kaldırılır.

Yoksa _CrtIsMemoryBlock geri döndürür, başarısız FALSE ve çıkış parametrelerini varsayılan değerlerine başlatılır: requestNumber ve lineNumber 0 olarak ayarlayın ve filename ayarlamak NULL.

Bu işlevin döndürdüğü için TRUE veya FALSE, onu birine geçişini _ASSERT basit bir hata ayıklama hata işleme mekanizmasını oluşturmak için makrolar.Aşağıdaki örnek, belirtilen adres yerel yığında bulunamazsa bir onaylama işlemi hatasına neden olur:

_ASSERTE( _CrtIsMemoryBlock( userData, size, &requestNumber, 
&filename, &linenumber ) );

Hakkında daha fazla bilgi için _CrtIsMemoryBlock diğer hata ayıklama işlevlerini ve makrolar kullanılabilmesi için bkz: Raporlama Makroları.Bellek bloklarının taban yığının hata ayıklama sürümünde nasıl ayrıldığı, başlatıldığı ve yönetildiği hakkında bilgi için, bkz. CRT Hata Ayıklama Öbeği Ayrıntıları.

Gereksinimler

Yordam

Gerekli başlık

_CrtIsMemoryBlock

<crtdbg.h>

Daha fazla uyumluluk bilgisi için Giriş altındaki Uyumluluk bölümüne bakın.

Kitaplıklar

Yalnızca C çalışma zamanı kitaplıklarının hata ayıklama sürümleri.

Örnek

Örnek için bkz: _CrtIsValidHeapPointer konu.

.NET Framework Eşdeğeri

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Hata Ayıklama Yordamları