98 PVOID pvSectionObject;
103 if (!pSection)
return NULL;
139 PVOID pvSectionObject;
144 if (!pSection)
return NULL;
231 DPRINT1(
"Failed to unmap a section @ %p Status=0x%x\n",
260 DPRINT1(
"MmUnmapViewInSessionSpace failed: 0x%lx\n",
Status);
322 *ppvSection = pSection;
354 if (!pFileView)
return NULL;
492 DPRINT1(
"MmUnmapViewInSessionSpace failed: 0x%lx\n",
Status);
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
LARGE_INTEGER LastWriteTime
__drv_preferredFunction("EngMapFontFileFD", "Obsolete")
VOID APIENTRY EngFreeModule(_In_ _Post_invalid_ HANDLE h)
#define OBJ_CASE_INSENSITIVE
#define _At_(target, annos)
NTSYSAPI NTSTATUS NTAPI ZwClose(_In_ HANDLE Handle)
_Check_return_ _Out_ PULONG pulSize
static OUT PIO_STATUS_BLOCK OUT PVOID FileInformation
_In_ BOOL _In_ HANDLE hProcess
#define _When_(expr, annos)
#define OBJ_KERNEL_HANDLE
BOOL APIENTRY EngUnmapFile(_In_ ULONG_PTR iFile)
GLfloat GLfloat GLfloat GLfloat h
VOID APIENTRY EngUnmapFontFile(_In_ ULONG_PTR iFile)
#define SECTION_ALL_ACCESS
HANDLE APIENTRY EngLoadModuleForWrite(_In_ LPWSTR pwsz, _In_ ULONG cjSizeOfModule)
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define _Outptr_result_bytebuffer_(size)
NTSTATUS NTAPI MmUnmapViewInSystemSpace(IN PVOID MappedBase)
NTSTATUS NTAPI MmUnmapViewInSessionSpace(IN PVOID MappedBase)
#define PsGetCurrentProcess
PVOID NTAPI EngMapSectionView(_In_ HANDLE hSection, _In_ SIZE_T cjSize, _In_ ULONG cjOffset, _Out_ PHANDLE phSecure)
NTSTATUS NTAPI MmMapViewOfSection(IN PVOID SectionObject, IN PEPROCESS Process, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect)
VOID APIENTRY EngUnmapFontFileFD(_In_ ULONG_PTR iFile)
#define NtCurrentProcess()
NTSTATUS NTAPI MmUnmapViewOfSection(IN PEPROCESS Process, IN PVOID BaseAddress)
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONG _Out_ ULONG * pcjBuf
#define __drv_allocatesMem(kind)
BOOL APIENTRY EngFreeSectionMem(_In_opt_ PVOID pvSection, _In_opt_ PVOID pvMappedBase)
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI MmCreateSection(OUT PVOID *Section, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize, IN ULONG SectionPageProtection, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL, IN PFILE_OBJECT FileObject OPTIONAL)
#define ObDereferenceObject
_Check_return_ _Outptr_result_bytebuffer_ pcjBuf PULONG * ppjBuf
void * EngAllocMem(int zero, unsigned long size, int tag=0)
NTSTATUS NTAPI MmMapViewInSystemSpace(IN PVOID SectionObject, OUT PVOID *MappedBase, IN OUT PSIZE_T ViewSize)
PVOID NTAPI EngCreateSectionHack(_In_ ULONG fl, _In_ SIZE_T cjSize, _In_ ULONG ulTag)
#define FILE_ATTRIBUTE_NORMAL
struct _FILEVIEW * PFILEVIEW
HANDLE APIENTRY EngLoadModule(_In_ LPWSTR pwsz)
#define FILE_NON_DIRECTORY_FILE
VOID NTAPI EngUnmapSectionView(_In_ PVOID pvBits, _In_ ULONG cjOffset, _In_ HANDLE hSecure)
HANDLE ghSystem32Directory
_In_ ULONG _In_ ULONG ulTag
#define _Post_writable_byte_size_(size)
ENGAPI VOID APIENTRY EngUnsecureMem(_In_ HANDLE hSecure)
static OUT PIO_STATUS_BLOCK IoStatusBlock
PVOID NTAPI EngCreateSection(_In_ ULONG fl, _In_ SIZE_T cjSize, _In_ ULONG ulTag)
NTSYSAPI VOID NTAPI RtlInitUnicodeString(PUNICODE_STRING DestinationString, PCWSTR SourceString)
#define RtlZeroMemory(Destination, Length)
#define InitializeObjectAttributes(p, n, a, r, s)
#define PROCESS_VM_OPERATION
ENGAPI HANDLE APIENTRY EngSecureMem(_In_reads_bytes_(cjLength) PVOID Address, _In_ ULONG cjLength)
#define PAGE_EXECUTE_READ
#define PAGE_EXECUTE_READWRITE
NTSTATUS NTAPI MmMapViewInSessionSpace(IN PVOID Section, OUT PVOID *MappedBase, IN OUT PSIZE_T ViewSize)
#define _Out_writes_bytes_(size)
_In_ const BITMAPINFO _In_ UINT _In_opt_ HANDLE hSection
#define MM_ALLOCATION_GRANULARITY
_Check_return_ PFILEVIEW NTAPI EngLoadModuleEx(_In_z_ LPWSTR pwsz, _In_ ULONG cjSizeOfModule, _In_ FLONG fl)