Aracılığıyla paylaş


_CrtIsMemoryBlock

Belirtilen bellek bloğu yerel yığın içinde olduğunu ve bir geçerli hata ayıklama öbek 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
    Fare işaretçisini doğrulamak için bellek bloğunun başlangıcına.

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

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

  • [Çıkış]filename
    İşaretçi blok istenen kaynak dosyanın adını veya NULL.

  • [Çıkış]linenumber
    İşaretçi kaynak dosyadaki satır numarasını veya NULL.

Dönüş Değeri

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

Notlar

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

_CrtIsMemoryBlock Başarısız, verdiği 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şlev verdiği için TRUE veya FALSE, onu birine geçirilebilir _assert basit bir hata ayıklama hata işleme mekanizması oluşturmak için makrolar.Aşağıdaki örnek belirtilen adres yerel yığın içinde 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şlevleri ve makrolar ile kullanılabilir, bkz: Makro kullanarak doğrulama ve raporlama için.Nasıl bellek bloklarını tahsis başlatıldı ve yönetilen temel yığın hata ayıklama sürümü hakkında daha fazla bilgi için bkz: bellek yönetimi ve hata ayıklama öbek.

Gereksinimler

Yordamı

Gerekli başlık

_CrtIsMemoryBlock

<crtdbg.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Kitaplıkları

Hata ayıklama sürümlerini c çalışma zamanı kitaplıkları yalnızca.

Örnek

Örnek için bkz: _CrtIsValidHeapPointer konu.

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Yordamlar hata ayıklama