ADDRESS_AND_SIZE_TO_SPAN_PAGES macro (wdm.h)
The ADDRESS_AND_SIZE_TO_SPAN_PAGES macro returns the number of pages spanned by the virtual range defined by a virtual address and the size in bytes of a transfer request.
Syntax
void ADDRESS_AND_SIZE_TO_SPAN_PAGES(
[in] Va,
[in] Size
);
Parameters
[in] Va
Pointer to the virtual address that is the base of the range.
[in] Size
Specifies the size in bytes of the transfer request.
Return value
None
Remarks
ADDRESS_AND_SIZE_TO_SPAN_PAGES returns the number of pages spanned by the virtual range starting at Va.
Drivers that make DMA transfers call ADDRESS_AND_SIZE_TO_SPAN_PAGES to determine whether a transfer request must be split into a sequence of device DMA operations.
A driver can use the system-defined constant PAGE_SIZE to determine whether the number of bytes to be transferred is less than the virtual memory page size of the current platform.
Callers of ADDRESS_AND_SIZE_TO_SPAN_PAGES can be running at any IRQL. The caller must ensure that the specified parameters do not cause memory overflow.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 |
Header | wdm.h |
IRQL | Any level |