Поделиться через


_aligned_msize_dbg

Возвращает размер блока памяти, размещенного в куче (только отладочная версия).

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

Параметры

  • [входящий] memblock
    Указатель на блок памяти.

  • [входящий] alignment
    Значение выравнивания, которое должно быть целочисленной степенью двойки.

  • [входящий] offset
    Смещение в выделении памяти для обеспечения выравнивания.

Возвращаемое значение

Возвращает размер (в байтах) как целое число без знака.

Заметки

Значения alignment и offset должны совпадать со значениями, которые были переданы функции, выделившей блок.

_aligned_msize_dbg - отладочная версия функции _aligned_msize. Если _DEBUG не определена, каждый вызов _aligned_msize_dbg сводится к вызову _aligned_msize. И _aligned_msize, и _aligned_msize_dbg вычисляют размер блока памяти в базовой куче, но _aligned_msize_dbg добавляет функциональность отладки: она включает буферы по обеим сторонам пользовательской части блоков памяти в возвращенном размере.

Эта функция проверяет свой параметр. Если memblock указатель на null, или alignment - не степень двойки, _msize вызывает обработчик недопустимого параметра, как описано в разделе Проверка параметров. Если ошибка обработана, то функция устанавливает errno в EINVAL и возвращает -1.

Сведения о том, как происходит выделение, инициализация и управление блоками памяти в отладочной версии базовой кучи см. в разделе Сведения о куче отладки CRT. Дополнительные сведения о типах блока выделения и способах их использования см. в разделе Типы блоков в куче отладки. Сведения о различиях между вызовом стандартной функции кучи и ее отладочной версии в отладочной сборке приложения см. в разделе Версии отладки функций выделения кучи.

Требования

Подпрограмма

Обязательный заголовок

_aligned_msize_dbg

<crtdbg.h>

Дополнительные сведения о совместимости см. в разделе Совместимость во введении.

Библиотеки

Только отладочные версии Библиотеки времени выполнения языка C.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Выделение памяти