union
{
PFN_NUMBER Flink;
- ULONG WsIndex; // SavedSwapEntry
+ ULONG WsIndex;
PKEVENT Event;
NTSTATUS ReadStatus;
SINGLE_LIST_ENTRY NextStackPfn;
+
+ // HACK for ROSPFN
+ SWAPENTRY SwapEntry;
} u1;
PMMPTE PteAddress;
union
{
struct
{
- USHORT ReferenceCount; // ReferenceCount
+ USHORT ReferenceCount;
MMPFNENTRY e1;
};
struct
union
{
MMPTE OriginalPte;
- LONG AweReferenceCount; // RmapListHead
+ LONG AweReferenceCount;
+
+ // HACK for ROSPFN
+ PMM_RMAP_ENTRY RmapListHead;
};
union
{
MI_PFN_USAGES PfnUsage;
CHAR ProcessName[16];
#endif
+
+ // HACK until WS lists are supported
+ MMWSLE Wsle;
} MMPFN, *PMMPFN;
extern PMMPFN MmPfnDatabase;
NTAPI
MmSetSessionLocaleId(
_In_ LCID LocaleId);
+
+
+/* virtual.c *****************************************************************/
+
+NTSTATUS
+NTAPI
+MmCopyVirtualMemory(IN PEPROCESS SourceProcess,
+ IN PVOID SourceAddress,
+ IN PEPROCESS TargetProcess,
+ OUT PVOID TargetAddress,
+ IN SIZE_T BufferSize,
+ IN KPROCESSOR_MODE PreviousMode,
+ OUT PSIZE_T ReturnSize);
+