Недокументированные функции NTDLL

28 января 2004



NtFlushVirtualMemory (ZwFlushVirtualMemory)

NTSYSAPI
NTSTATUS
NTAPI

NtFlushVirtualMemory(

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





NtFlushVirtualMemory сбрасывает размеченную секцию в файл.
  • ProcessHandle     HANDLE процесса, содержащего размеченный вид секции для сброса
  • *BaseAddress     Указатель на значение PVOID, содержащее адрес области памяти для сброса. На выходе это значение округляется до размера страницы (0x1000).
  • NumberOfBytesToFlush     Указатель на переменную ULONG, задающую длину области сброса. Это значение округляется до размера страницы (0x1000).
  • IoStatusBlock     Указатель на структуру IO_STATUS_BLOCK. После вызова, поле Information содержит то же значение, что и NumberOfBytesToFlush параметр.




    ВНИМАНИЕ: Две (или больше) страницы памяти, размеченные в разных вызовах NtMapViewOfSection не могут быть сброшены одним вызовом функции, даже если обе страницы имеют ту же самую SECTION в качестве источника.



    Документировал:
    Томаш Новак



    Зависимости:
    Библиотека: ntdll.lib


    См. также:
    NtCreateSection
    NtMapViewOfSection
    NtOpenSection
    NtUnmapViewOfSection