WDF_ALIGN_SIZE_DOWN function

[Applies to KMDF and UMDF]

The WDF_ALIGN_SIZE_DOWN function returns the next-lower buffer size that is aligned to a specified alignment offset.

Syntax


size_t WDF_ALIGN_SIZE_DOWN(
  _In_  size_t Length,
  _In_  size_t AlignTo
);

Parameters

Length [in]

The length, in bytes, of a memory buffer.

AlignTo [in]

The alignment offset, in bytes. This value must be a power of 2, such as 2, 4, 8, 16, and so on.

Return value

WDF_ALIGN_SIZE_DOWN returns the aligned buffer size, in bytes.

Remarks

Drivers can use WDF_ALIGN_SIZE_UP or WDF_ALIGN_SIZE_DOWN to calculate a buffer size that is aligned to a specified alignment offset. This calculation is useful if your driver must allocate multiple contiguous buffers, if each buffer must begin at an address alignment boundary.

Examples

The following code example receives a buffer size and returns the size (either the current size or the next-lower size) that aligns to a DWORD address boundary.


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

Requirements

Minimum KMDF version

1.0

Minimum UMDF version

2.0

Header

Wdfcore.h (include Wdf.h)

Library

Wdf01000.sys (see Framework Library Versioning.)

IRQL

Any IRQL.

See also

WDF_ALIGN_SIZE_UP

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft. All rights reserved.