Share via


_aligned_msize_dbg

Mengembalikan ukuran blok memori yang dialokasikan dalam heap (hanya versi debug).

Sintaks

size_t _aligned_msize_dbg(
   void *memblock,
   size_t alignment,
   size_t offset
);

Parameter

memblock
Penunjuk ke blok memori.

alignment
Nilai perataan, yang harus berupa kekuatan bilangan bulat 2.

offset
Offset ke dalam alokasi memori untuk memaksa perataan.

Nilai hasil

Mengembalikan ukuran (dalam byte) sebagai bilangan bulat yang tidak ditandatangani.

Keterangan

Nilai alignment dan offset harus sama dengan nilai yang diteruskan ke fungsi yang mengalokasikan blok.

_aligned_msize_dbg adalah versi debug dari _aligned_msize fungsi. Ketika _DEBUG tidak ditentukan, setiap panggilan ke _aligned_msize_dbg dikurangi menjadi panggilan ke _aligned_msize. Baik _aligned_msize dan _aligned_msize_dbg hitung ukuran blok memori di tumpukan dasar, tetapi _aligned_msize_dbg menambahkan fitur penelusuran kesalahan: Ini termasuk buffer di salah satu sisi bagian pengguna dari blok memori dalam ukuran yang dikembalikan.

Fungsi ini memvalidasi parameternya. Jika memblock adalah penunjuk null atau alignment bukan kekuatan 2, _msize memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika kesalahan ditangani, fungsi diatur errno ke EINVAL dan mengembalikan -1.

Untuk informasi tentang bagaimana blok memori dialokasikan, diinisialisasi, dan dikelola dalam versi debug timbunan dasar, lihat detail timbunan debug CRT. Untuk informasi tentang jenis blok alokasi dan cara penggunaannya, lihat Jenis blok pada tumpukan debug. Untuk informasi tentang perbedaan antara fungsi timbunan standar dan versi debugnya, lihat Versi debug fungsi alokasi timbunan.

Persyaratan

Rutin Header yang diperlukan
_aligned_msize_dbg <crtdbg.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Pustaka

Debug versi pustaka run-time C saja.

Baca juga

Alokasi memori