ALIGN_DOWN_BY - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
#ifndef _PHNT_NTDEF_H
#ifndef _NTDEF_
#if defined(__INTELLISENSE__) || defined(DOXYGEN)
#ifndef ALIGN_DOWN_BY

/**
 * The ALIGN_DOWN_BY macro aligns a value down to a specified alignment boundary.
 *
 * \param Length    The value to align.
 * \param Alignment The alignment boundary in bytes (typically a power of two).
 * \return @p Length rounded down to the nearest multiple of @p Alignment.
 * \remarks Non power-of-two alignments may produce unexpected results.
 */
#define ALIGN_DOWN_BY(Length, Alignment) ((ULONG_PTR)(Length) & ~((ULONG_PTR)(Alignment) - 1))

#endif
#endif
#endif
#endif

View code on GitHub
#ifndef _PHNT_NTDEF_H
#ifndef _NTDEF_
#if defined(__INTELLISENSE__) || defined(DOXYGEN)
// ...
#else
#ifndef ALIGN_DOWN_BY

#define ALIGN_DOWN_BY(Length, Alignment) ((ULONG_PTR)(Length) & ~((ULONG_PTR)(Alignment) - 1))

#endif
#endif
#endif
#endif

View code on GitHub

NtDoc

No description available.