Performs a page walk on the specified address. Converts a virtual address to a physical address and returns information about the translation.
PPS_ENGINE pEngine
An opaque handle to an engine created by the EngCreateEngine function.
uint64_t PageTableAddress
The target page-table root address. This page-table is used to perform a page walk for the specified address. The currently loaded page-table address is stored in the CR3 register.
uint16_t Selector
The segment selector used to translate the virtual address into a physical address.
uint64_t Offset
The segment offset used to translate the virtual address into a physical address.
PPS_PAGE_WALK_INFO pPageWalkInfo
Receives information about the virtual-to-physical address translation. Refer to the PS_PAGE_WALK_INFO structure for more information.
If the function succeeds, the return value is PULSE_STATUS_SUCCESS.
If it fails, it returns one of the PULSE_STATUS values. Possible return codes include, but are not limited to, the following:
| PULSE_STATUS_INSUFFICIENT_RESOURCES0xC0000002 | One of the memory allocations failed during initialization. |
| PULSE_STATUS_TIMEOUT0xC0000007 | Might happen if
|
| PULSE_STATUS_INVALID_PARAMETER0xC0000010 | Might happen if
|
| PULSE_STATUS_INVALID_CPU_MODE0xC0000022 | The current page walk mode is invalid. |
| PULSE_STATUS_INVALID_PACKET0xC0000031 | An invalid or unexpected packet was received in response. |
| PULSE_STATUS_INVALID_TRANSLATION0xC0000021 | Virtual to physical address translation failed. Might happen if the effective address exceeds the segment limit. |
| PULSE_STATUS_DEVICE_CONNECTION_LOST0xC0000308 | The connection to the transport was lost. Try restarting the engine or the transport. |