◄Up► ◄Next► ◄Previous► ──────────────────────────────────────────────────────────────────────────── include vmm.inc VMMcall _PageOutDirtyPages, <nPages, flags> mov [DirtyPages], eax ; count of dirty pages flushed The _PageOutDirtyPages service flushes dirty pages. The virtual pageswap device uses this service to prevent a large number of dirty pages from accumulating in the system. This service is intended for exclusive use by the virtual pageswap device. Parameter Description ──────────────────────────────────────────────────────────────────────────── nPages Specifies the maximum number of dirty pages to flush. flags Specifies the operation flags. This parameter can be a combination of the following values: Value Meaning ───────────────────────────────────────────────────────────────── PagePDPSetBase Sets the base page number to the current starting point of the dirty-page scan. PagePDPClearBase Clears the base page number. PagePDPQueryDirty Returns a count of dirty pages without flushing the pages. The service ignores the nPages parameter and all other flags if this value is given. All other values are reserved. Return Value The EAX register contains the actual count of dirty pages flushed by the service. Comments The virtual pageswap device typically flushes dirty pages in the system as part of a background activity. It uses this service to scan for and flush current page-out candidates. The virtual pageswap device can flush all the dirty pages by specifying a large value for the nPages parameter. The PagePDPSetBase and PagePDPClearBase values let the virtual pageswap device set and clear a variable that causes the scan for page-out candidates to stop at the given point, and return zero to indicate that the entire address space has been scanned. Uses EAX See Also _PageDiscardPages ♦