2022-08-10 09:50:49 +00:00
|
|
|
/***
|
|
|
|
Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved.
|
|
|
|
|
|
|
|
File: IProcessSectionView.hpp
|
|
|
|
Date: 2022-08-09
|
|
|
|
Author: Reece
|
|
|
|
***/
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
namespace Aurora::Process
|
|
|
|
{
|
|
|
|
struct IProcessSectionMapView;
|
|
|
|
|
|
|
|
struct IProcessSectionView
|
|
|
|
{
|
|
|
|
virtual AuSPtr<IProcessSectionMapView> Allocate(AuUInt length) = 0;
|
|
|
|
|
|
|
|
virtual AuSPtr<IProcessSectionMapView> MapFileByPath(const AuString &str,
|
|
|
|
AuUInt64 offset,
|
|
|
|
AuUInt length,
|
|
|
|
Aurora::IO::FS::EFileOpenMode mode,
|
|
|
|
Aurora::IO::FS::EFileAdvisoryLockLevel processLockLevel) = 0;
|
|
|
|
|
|
|
|
virtual AuSPtr<IProcessSectionMapView> MapFileByObject(const AuSPtr<Aurora::IO::FS::IFileStream> &stream,
|
|
|
|
AuUInt64 offset,
|
|
|
|
AuUInt length,
|
|
|
|
Aurora::IO::FS::EFileOpenMode mode,
|
|
|
|
Aurora::IO::FS::EFileAdvisoryLockLevel processLockLevel) = 0;
|
|
|
|
|
|
|
|
virtual AuSPtr<IProcessSectionMapView> MapIPCMemory(const AuString &handle,
|
|
|
|
AuUInt64 offset,
|
2022-08-14 23:41:43 +00:00
|
|
|
AuUInt length,
|
2022-08-10 09:50:49 +00:00
|
|
|
Aurora::IO::FS::EFileOpenMode mode) = 0;
|
|
|
|
};
|
|
|
|
|
|
|
|
AUKN_SYM AuSPtr<IProcessSectionView> GetGlobalProcessSpace();
|
|
|
|
//AUKN_SHARED_API(ReservedAddressSpace, IProcessSectionView, AuUInt); < Windows SUCKS
|
|
|
|
}
|