функция WDF_ALIGN_SIZE_DOWN (wdfcore.h)

[Относится к KMDF и UMDF]

Функция WDF_ALIGN_SIZE_DOWN возвращает следующий нижний размер буфера, выравниваемый по указанному смещению выравнивания.

Синтаксис

size_t WDF_ALIGN_SIZE_DOWN(
  [in] size_t Length,
  [in] size_t AlignTo
);

Параметры

[in] Length

Длина буфера памяти (в байтах).

[in] AlignTo

Смещение выравнивания в байтах. Это значение должно иметь значение 2, например 2, 4, 8, 16 и т. д.

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

WDF_ALIGN_SIZE_DOWN возвращает выровненный размер буфера в байтах.

Комментарии

Драйверы могут использовать WDF_ALIGN_SIZE_UP или WDF_ALIGN_SIZE_DOWN для вычисления размера буфера, выровненного по заданному смещению. Это вычисление полезно, если драйвер должен выделить несколько смежных буферов, если каждый буфер должен начинаться с границы выравнивания адресов.

Примеры

В следующем примере кода получается размер буфера и возвращается размер (текущий или следующий размер), выравнивающийся по границе адреса DWORD.

bufferSizeAligned = WDF_ALIGN_SIZE_DOWN(bufferSize,
                                        sizeof(DWORD));

Требования

Требование Значение
Целевая платформа Универсальное
Минимальная версия KMDF 1,0
Минимальная версия UMDF 2,0
Верхняя часть wdfcore.h (включая Wdf.h)
Библиотека Wdf01000.sys (см. раздел Управление версиями библиотеки платформы).
IRQL Любой IRQL.

См. также раздел

WDF_ALIGN_SIZE_UP