/*** Copyright (C) 2022 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: AuProcessSectionFileMapView.NT.hpp Date: 2022-08-09 Author: Reece ***/ #pragma once namespace Aurora::Process { struct ProcessSectionView; struct ProcessSectionFileMapView : IProcessSectionMapView { virtual ~ProcessSectionFileMapView(); ProcessSectionFileMapView(AuUInt uAddress, HANDLE hFileSection); void Unmap() override; bool Flush(AuUInt offset, AuUInt length) override; AuUInt GetBaseAddress() override; AuUInt GetAddress(AuUInt offset) override; AuUInt8 *GetBasePointer() override; AuUInt8 *GetPointer(AuUInt offset) override; bool LockSwap() override; bool UnlockSwap() override; ProcessSectionView *pProcessGlobalHint {}; AuSPtr pSharedSectionHint {}; AuUInt uOffset {}; AuUInt uLength {}; private: HANDLE hFileSection {}; AuUInt uAddress {}; bool bIsDead_ {}; }; }