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