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_UPWDF_ALIGN_SIZE_DOWN 来计算与指定对齐偏移量对齐的缓冲区大小。 如果驱动程序必须分配多个连续缓冲区(如果每个缓冲区必须从地址对齐边界开始),则此计算非常有用。

示例

下面的代码示例接收缓冲区大小,并返回与 DWORD 地址边界对齐 (当前大小或下一个较小的大小) 的大小。

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

要求

要求
目标平台 通用
最低 KMDF 版本 1.0
最低 UMDF 版本 2.0
标头 wdfcore.h (包括 Wdf.h)
Library Wdf01000.sys (请参阅框架库版本控制.)
IRQL 任何 IRQL。

另请参阅

WDF_ALIGN_SIZE_UP