_PageChangePager


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