Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The ADDRESS_AND_SIZE_TO_SPAN_PAGES macro returns the number of pages that a virtual range spans. The virtual range is 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
Returns the number of pages spanned by the virtual range starting at Va.
Remarks
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 |