NeKernel dev
Loading...
Searching...
No Matches
Kernel::PE32Loader Class Reference

#include <PE32CodeMgr.h>

Inheritance diagram for Kernel::PE32Loader:
Kernel::ILoader

Public Member Functions

 PE32Loader (const VoidPtr blob)
 PE32+ loader constructor w/ blob.
 PE32Loader (const Char *path)
 PE32+ loader constructor.
 ~PE32Loader () override
 PE32+ destructor.
const CharPath () override
const CharAsString () override
const CharMIME () override
ErrorOr< VoidPtrFindStart () override
 Finds the executable entrypoint.
ErrorOr< VoidPtrFindSectionByName (const Char *name)
 Finds the section according to its name.
ErrorOr< VoidPtrFindSymbol (const Char *name, Int32 kind) override
 Finds the symbol according to it's name.
ErrorOr< VoidPtrGetBlob () override
bool IsLoaded ()
 Tells if the executable is loaded or not.
Public Member Functions inherited from Kernel::ILoader
 ILoader ()=default
virtual ~ILoader ()=default
virtual _Output ErrorOr< VoidPtrFindSymbol (_Input const Char *name, _Input Int32 kind)=0

Private Member Functions

 PE32Loader ()=delete

Private Attributes

OwnPtr< FileStream< Char > > fFile
Ref< KStringfPath
VoidPtr fCachedBlob
BOOL fBad

Constructor & Destructor Documentation

◆ PE32Loader() [1/3]

Kernel::PE32Loader::PE32Loader ( )
explicitprivatedelete

◆ PE32Loader() [2/3]

Kernel::PE32Loader::PE32Loader ( const VoidPtr blob)
explicit

PE32+ loader constructor w/ blob.

Parameters
blobfile blob.

◆ PE32Loader() [3/3]

Kernel::PE32Loader::PE32Loader ( const Char * path)
explicit

PE32+ loader constructor.

Parameters
paththe filesystem path.

◆ ~PE32Loader()

Kernel::PE32Loader::~PE32Loader ( )
override

PE32+ destructor.

Member Function Documentation

◆ AsString()

const Char * Kernel::PE32Loader::AsString ( )
overridevirtual

Implements Kernel::ILoader.

◆ FindSectionByName()

ErrorOr< VoidPtr > Kernel::PE32Loader::FindSectionByName ( const Char * name)

Finds the section according to its name.

Parameters
namename of section.

◆ FindStart()

ErrorOr< VoidPtr > Kernel::PE32Loader::FindStart ( )
overridevirtual

Finds the executable entrypoint.

Returns

Implements Kernel::ILoader.

◆ FindSymbol()

ErrorOr< VoidPtr > Kernel::PE32Loader::FindSymbol ( const Char * name,
Int32 kind )
override

Finds the symbol according to it's name.

Parameters
namename of symbol.
kindkind of symbol we want.

◆ GetBlob()

ErrorOr< VoidPtr > Kernel::PE32Loader::GetBlob ( )
overridevirtual

Implements Kernel::ILoader.

◆ IsLoaded()

bool Kernel::PE32Loader::IsLoaded ( )

Tells if the executable is loaded or not.

Returns
Whether it's not bad and is cached.

◆ MIME()

const Char * Kernel::PE32Loader::MIME ( )
overridevirtual

Implements Kernel::ILoader.

◆ Path()

const Char * Kernel::PE32Loader::Path ( )
overridevirtual

Implements Kernel::ILoader.

Member Data Documentation

◆ fBad

BOOL Kernel::PE32Loader::fBad
private

◆ fCachedBlob

VoidPtr Kernel::PE32Loader::fCachedBlob
private

◆ fFile

OwnPtr<FileStream<Char> > Kernel::PE32Loader::fFile
private

◆ fPath

Ref<KString> Kernel::PE32Loader::fPath
private

The documentation for this class was generated from the following files: