Undocumented functions of NTDLL

2OO4, 28 January


Gridstore - NonStop Storage

NtFlushVirtualMemory
NtFlushVirtualMemory

NTSYSAPI 
NTSTATUS
NTAPI

NtFlushVirtualMemory(

IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN OUT PULONG NumberOfBytesToFlush, OUT PIO_STATUS_BLOCK IoStatusBlock );





NtFlushVirtualMemory flushes mapped section view to file.
  • ProcessHandle
  •     HANDLE of process containing mapped view of section to flush.
  • *BaseAddress
  •     Pointer to PVOID value containing address of memory area to flush. On output this value is rounded to Page Size (0x1000).
  • NumberOfBytesToFlush
  •     Pointer to ULONG value specifing length of area to flush. On output this value is rounded up to Page Size (0x1000).
  • IoStatusBlock
  •     Pointer to IO_STATUS_BLOCK structure. After call Information member contains the same value as NumberOfBytesToFlush parameter.





    WARNING: Two (or more) memory pages mapped in different calls of NtMapViewOfSection cannot be flushed in one function call, even if both has the same SECTION as a source.



    Documented by:
    Tomasz Nowak



    Requirements:
    Library: ntdll.lib


    See also:
    NtCreateSection
    NtMapViewOfSection
    NtOpenSection
    NtUnmapViewOfSection