include vmm.h ULONG EXTERNAL PageChangePager(ULONG Page, ULONG nPages, ULONG hpd, ULONG pagerdata, ULONG flags)
Changes the pager or pager data for a range of pages. This service should only be used to modify the information for pages and pagers under the control of the caller. Uses EAX, ECX, EDX and Flags.
Page
Linear page number of the first page to modify. All pages of the specified range must be committed and within the same memory object.
nPages
Number of pages to modify.
hpd
Handle of the page descriptor to set in each of the pages in the range. This parameter is used only if the PCP_CHANGEPAGE flag is specified.
pagerdata
New value to store in the page data double-word of each page in the range. This parameter is used only if the PCP_CHANGEPAGERDATA flag is specified.
flags
Operation flags. Can be one or more of these values:
PCP_CHANGEPAGER | Change the pager for the specified range of pages. The hpd parameter specifies the handle of the page descriptor to set in each of the pages. |
PCP_CHANGEPAGERDATA | Store the pagerdata value in the page data double-word of each page in the range. |
PCP_VIRGINONLY | Change only virgin pages. |
PC_INCR | Increment the specified pager data for each page in the range before storing it. |
If PCP_CHANGEPAGER is specified, the old pager's pd_taintedfree or pd_virginfree callback function is called, just as if the pages had been decommitted.
See also pd