2012-05-07 22:41:10 +00:00
|
|
|
|
|
|
|
typedef struct _ENGSECTION
|
|
|
|
{
|
|
|
|
PVOID pvSectionObject;
|
|
|
|
PVOID pvMappedBase;
|
|
|
|
SIZE_T cjViewSize;
|
|
|
|
ULONG ulTag;
|
|
|
|
} ENGSECTION, *PENGSECTION;
|
|
|
|
|
|
|
|
typedef struct _FILEVIEW
|
|
|
|
{
|
|
|
|
LARGE_INTEGER LastWriteTime;
|
|
|
|
PVOID pvKView;
|
|
|
|
PVOID pvViewFD;
|
|
|
|
SIZE_T cjView;
|
|
|
|
PVOID pSection;
|
|
|
|
} FILEVIEW, *PFILEVIEW;
|
|
|
|
|
2015-03-25 22:32:22 +00:00
|
|
|
#ifdef __cplusplus
|
|
|
|
typedef struct _FONTFILEVIEW : FILEVIEW
|
|
|
|
{
|
|
|
|
#else
|
2012-05-07 22:41:10 +00:00
|
|
|
typedef struct _FONTFILEVIEW
|
|
|
|
{
|
|
|
|
FILEVIEW;
|
2015-03-25 22:32:22 +00:00
|
|
|
#endif
|
2012-05-07 22:41:10 +00:00
|
|
|
DWORD reserved[2];
|
|
|
|
PWSTR pwszPath;
|
|
|
|
SIZE_T ulRegionSize;
|
|
|
|
ULONG cKRefCount;
|
|
|
|
ULONG cRefCountFD;
|
|
|
|
PVOID pvSpoolerBase;
|
|
|
|
DWORD dwSpoolerPid;
|
|
|
|
} FONTFILEVIEW, *PFONTFILEVIEW;
|
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
FVF_SYSTEMROOT = 1,
|
|
|
|
FVF_READONLY = 2,
|
|
|
|
FVF_FONTFILE = 4,
|
|
|
|
};
|
|
|
|
|
|
|
|
PVOID
|
|
|
|
NTAPI
|
|
|
|
EngMapSectionView(
|
|
|
|
_In_ HANDLE hSection,
|
|
|
|
_In_ SIZE_T cjSize,
|
|
|
|
_In_ ULONG cjOffset,
|
|
|
|
_Out_ PHANDLE phSecure);
|
|
|
|
|
|
|
|
VOID
|
|
|
|
NTAPI
|
|
|
|
EngUnmapSectionView(
|
|
|
|
_In_ PVOID pvBits,
|
|
|
|
_In_ ULONG cjOffset,
|
|
|
|
_In_ HANDLE hSecure);
|
|
|
|
|
|
|
|
PVOID
|
|
|
|
NTAPI
|
|
|
|
EngCreateSection(
|
2015-03-10 00:13:43 +00:00
|
|
|
_In_ ULONG fl,
|
|
|
|
_In_ SIZE_T cjSize,
|
|
|
|
_In_ ULONG ulTag);
|
2012-05-07 22:41:10 +00:00
|
|
|
|
2015-03-10 00:13:43 +00:00
|
|
|
_Success_(return!=FALSE)
|
2012-05-07 22:41:10 +00:00
|
|
|
BOOL
|
|
|
|
APIENTRY
|
|
|
|
EngMapSection(
|
2015-03-10 00:13:43 +00:00
|
|
|
_In_ PVOID pvSection,
|
|
|
|
_In_ BOOL bMap,
|
|
|
|
_In_ HANDLE hProcess,
|
|
|
|
_When_(bMap, _Outptr_) PVOID* pvBaseAddress);
|
2012-05-07 22:41:10 +00:00
|
|
|
|
2015-03-10 00:13:43 +00:00
|
|
|
_Check_return_
|
|
|
|
_Success_(return!=NULL)
|
|
|
|
__drv_allocatesMem(Mem)
|
|
|
|
_Post_writable_byte_size_(cjSize)
|
2012-05-07 22:41:10 +00:00
|
|
|
PVOID
|
|
|
|
APIENTRY
|
|
|
|
EngAllocSectionMem(
|
2015-03-10 00:13:43 +00:00
|
|
|
_Outptr_ PVOID *ppvSection,
|
|
|
|
_In_ ULONG fl,
|
|
|
|
_In_ SIZE_T cjSize,
|
|
|
|
_In_ ULONG ulTag);
|
2012-05-07 22:41:10 +00:00
|
|
|
|
|
|
|
BOOL
|
|
|
|
APIENTRY
|
|
|
|
EngFreeSectionMem(
|
2015-03-10 00:13:43 +00:00
|
|
|
_In_opt_ PVOID pvSection,
|
|
|
|
_In_opt_ PVOID pvMappedBase);
|
2012-05-07 22:41:10 +00:00
|
|
|
|
2015-03-10 00:13:43 +00:00
|
|
|
_Check_return_
|
2012-05-07 22:41:10 +00:00
|
|
|
PFILEVIEW
|
|
|
|
NTAPI
|
|
|
|
EngLoadModuleEx(
|
2015-03-10 00:13:43 +00:00
|
|
|
_In_z_ LPWSTR pwsz,
|
|
|
|
_In_ ULONG cjSizeOfModule,
|
|
|
|
_In_ FLONG fl);
|
2012-05-07 22:41:10 +00:00
|
|
|
|