Condividi tramite


_aligned_msize_dbg

Restituisce le dimensioni di un blocco di memoria allocato nell'heap (solo per versione di debug).

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

Parametri

  • [in] memblock
    Puntatore al blocco di memoria.

  • [in] alignment
    Il valore di allineamento, che deve essere una potenza intera di 2.

  • [in] offset
    L'offset dell'allocazione di memoria per forzare l'allineamento.

Valore restituito

Restituisce la dimensione (in byte) come unsigned integer.

Note

I valori alignment e offset devono corrispondere ai valori passati alla funzione che ha allocato il blocco.

_aligned_msize_dbg è una versione di debug della funzione _aligned_msize. Quando _DEBUG non è definito, ogni chiamata a _aligned_msize_dbg viene ridotta a una chiamata a _aligned_msize. Sia _aligned_msize che _aligned_msize_dbg calcolano le dimensioni di un blocco di memoria nell'heap di base, ma _aligned_msize_dbg aggiunge una funzionalità di debug: include i buffer presenti su entrambi i lati del blocco di memoria nella dimensione restituita.

Questa funzione convalida il parametro. Se memblock è un puntatore a null o alignment non è una potenza di 2, _msize viene invocato un gestore di parametri non validi, come descritto in Convalida dei parametri. Se l'errore viene gestito, la funzione imposta errno a EINVAL e restituisce -1.

Per informazioni su come i blocchi di memoria allocati, vengono inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Informazioni dettagliate sull'heap di debug CRT. Per informazioni sui tipi di blocchi di allocazione e su come vengono utilizzati, vedere Tipi di blocchi sull'heap di debug. Per informazioni sulle differenze tra chiamare una funzione standard dell'heap e la versione di debug in una build di debug di un'applicazione, consultare Versioni di debug di funzioni di allocazione heap.

Requisiti

Routine

Intestazione obbligatoria

_aligned_msize_dbg

<crtdbg.h>

Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.

Librerie

Solo versioni di debug di Librerie di runtime C.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.

Vedere anche

Riferimenti

Allocazione di memoria