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

12 октября 2000



NtMapViewOfSection (ZwMapViewOfSection)

NTSYSAPI
NTSTATUS
NTAPI

NtMapViewOfSection(

IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress OPTIONAL, IN ULONG ZeroBits OPTIONAL, IN ULONG CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PULONG ViewSize, IN InheritDisposition, IN ULONG AllocationType OPTIONAL, IN ULONG Protect );




Функция NtMapViewOfSection отображает заданную часть объекта "Секция" в память процесса.


  • SectionHandle    HANDLE секции, открытый с одним или несколькими атрибутами SECTION_MAP_EXECUTE, SECTION_MAP_READ, SECTION_MAP_WRITE.
  • ProcessHandle     HANDLE процесса, открытый с доступом PROCESS_VM_OPERATION.
  • *BaseAddress     Указатель на переменную, получающую виртуальный адрес отображённой памяти. Если это значение не равно NULL, система пытается выделить память от заданного значения.
  • ZeroBits     Показывает, как много старших бит не должны быть установлены в BaseAddress.
  • CommitSize     Размер памяти, переданной в начале, в байтах.
  • SectionOffset     Указатель на начало отображённого блока в секции. Это значение должно быть округлено до размера блока X64K (0x10000 на X86).
  • ViewSize     Указатель на размер отображаемого блока, в байтах. Это значение должно быть округлено до размера страницы (0x1000 на x86).
  • InheritDisposition     Как дочерние процессы наследуют отображаемую секцию. См. описание перечислимого типа SECTION_INHERIT.
  • AllocationType     Может быть:
  • Protect     Защита страницы. Может принимать значения:


    Поддерживается в операционных системах:
    NT 4.0,Win 2000,Win XP/2003



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



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


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


    Здесь supergiper.ru/lazernaja-rezka можно прочитать про лазерную металлообработку.