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
Защита страницы. Может принимать значения:
- PAGE_NOACCESS
- PAGE_READONLY
- PAGE_READWRITE
- PAGE_WRITECOPY
- PAGE_EXECUTE
- PAGE_EXECUTE_READ
- PAGE_EXECUTE_READWRITE
- PAGE_EXECUTE_WRITECOPY
- PAGE_GUARD
- PAGE_NOCACHE
- PAGE_WRITECOMBINE
Поддерживается в операционных системах:
NT 4.0,Win 2000,Win XP/2003
Документировал:
Томаш Новак
Зависимости:
Библиотека: ntdll.lib
См. также:
NtAllocateVirtualMemory
NtCreateSection
NtOpenSection
NtUnmapViewOfSection
Здесь supergiper.ru/lazernaja-rezka можно прочитать про лазерную металлообработку.