RLibrary Class Reference

class RLibrary : public RHandleBase

A handle to a dynamically loadable DLL.

The class is not intended for user derivation.

Inherits from

Public Member Functions
IMPORT_C voidClose()
IMPORT_C TFileNameFileName()
IMPORT_C TIntGetInfo(const TDesC &, TDes8 &)
IMPORT_C TIntGetInfoFromHeader(const TDesC8 &, TDes8 &)
IMPORT_C TIntGetRamSizes(TInt &, TInt &)
IMPORT_C TIntInit()
IMPORT_C TIntLoad(const TDesC &, const TUidType &)
IMPORT_C TIntLoad(const TDesC &, const TDesC &)
IMPORT_C TIntLoad(const TDesC &, const TDesC &, const TUidType &)
IMPORT_C TIntLoad(const TDesC &, const TDesC &, const TUidType &, TUint32)
IMPORT_C TIntLoadRomLibrary(const TDesC &, const TDesC &)
IMPORT_C TLibraryFunctionLookup(TInt)
IMPORT_C TUidTypeType()
Private Member Functions
TInt InitL()
Inherited Functions
RHandleBase::Attributes()const
RHandleBase::BTraceId()const
RHandleBase::DoExtendedClose()
RHandleBase::Duplicate(const RThread &,TOwnerType)
RHandleBase::FullName()const
RHandleBase::FullName(TDes &)const
RHandleBase::Handle()const
RHandleBase::HandleInfo(THandleInfo *)
RHandleBase::Name()const
RHandleBase::NotifyDestruction(TRequestStatus &)
RHandleBase::Open(const TFindHandleBase &,TOwnerType)
RHandleBase::OpenByName(const TDesC &,TOwnerType,TInt)
RHandleBase::RHandleBase()
RHandleBase::RHandleBase(TInt)
RHandleBase::SetHandle(TInt)
RHandleBase::SetHandleNC(TInt)
RHandleBase::SetReturnedHandle(TInt)
RHandleBase::SetReturnedHandle(TInt,RHandleBase &)
Public Member Enumerations
enumTRequiredImageHeaderSize { KRequiredImageHeaderSize = 9*1024 }
Inherited Enumerations
RHandleBase:TAttributes
Public Member Type Definitions
typedef TPckgBuf< SInfo > SInfoBuf
typedef TPckgBuf< TInfo > TInfoBuf
typedef TPckgBuf< TInfoV2 > TInfoBufV2
Inherited Attributes
RHandleBase::iHandle

Member Functions Documentation

Close()

IMPORT_C voidClose()

Closes the DLL.

The function decrements the usage count by one.

This handle must have been used to load the DLL using one of the Load() functions.

FileName()

IMPORT_C TFileNameFileName()const

Gets the name of the DLL's file.

GetInfo(const TDesC &, TDes8 &)

IMPORT_C TIntGetInfo(const TDesC &aFileName,
TDes8 &aInfoBuf
)[static]

Gets information about the specified DLL.

Parameters

const TDesC & aFileNameA descriptor containing the name of the DLL to be checked. The length of the file name must not be greater than KMaxFileName.
TDes8 & aInfoBufOn return, contains information about the DLL (RLibrary::TInfo)

GetInfoFromHeader(const TDesC8 &, TDes8 &)

IMPORT_C TIntGetInfoFromHeader(const TDesC8 &aHeader,
TDes8 &aInfoBuf
)[static]

Gets information about an executable binary, (DLL or EXE), based on header data from that binaries image.

Parameters

const TDesC8 & aHeaderA descriptor containing the data from the start of the binaries image. This data should be of size RLibrary::KRequiredImageHeaderSize or the total length of the binary image, whichever is smallest.
TDes8 & aInfoBufA descriptor which will be filled with the extracted information. This information will be in the form of a RLibrary::TInfo structure. This should usually be an object of type RLibrary::TInfoBuf.

GetRamSizes(TInt &, TInt &)

IMPORT_C TIntGetRamSizes(TInt &aCodeSize,
TInt &aConstDataSize
)

Gets the current size of the code and the const data for this DLL.

This function can be called on a RAM loaded DLL or a ROM based DLL.

Parameters

TInt & aCodeSizeThe current size of the code for a RAM loaded DLL. This is zero for a ROM based DLL.
TInt & aConstDataSizeThe current size of the const data for a RAM loaded DLL. This is zero for a ROM based DLL.

Init()

IMPORT_C TIntInit()

InitL()

TInt InitL()[private]

Load(const TDesC &, const TUidType &)

IMPORT_C TIntLoad(const TDesC &aFileName,
const TUidType &aType
)

Loads the named DLL which matches the specified UID type.

If successful, the function increments the usage count by one. No additional search paths can be specified with this function.

Parameters

const TDesC & aFileNameA descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName.
const TUidType & aTypeA UID type (a triplet of UIDs) which the DLL must match. Individual UIDs can contain the KNullUid wild card.

Load(const TDesC &, const TDesC &)

IMPORT_C TIntLoad(const TDesC &aFileName,
const TDesC &aPath =  KNullDesC
)

Loads the named DLL.

If successful, the function increments the usage count by one.

Parameters

const TDesC & aFileNameA descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName.
const TDesC & aPath =  KNullDesC A descriptor containing a list of path names, each separated by a semicolon. When specified, these paths are searched for the DLL before the standard search locations. By default, no pathnames are specified.

Load(const TDesC &, const TDesC &, const TUidType &)

IMPORT_C TIntLoad(const TDesC &aFileName,
const TDesC &aPath,
const TUidType &aType
)

Loads the named DLL that matches the specified UID type.

If successful, the function increments the usage count by one.

Parameters

const TDesC & aFileNameA descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName.
const TDesC & aPathA descriptor containing a list of path names, each separated by a semicolon. When specified, these paths are searched for the DLL before the standard search locations.
const TUidType & aTypeA UID type (a triplet of UIDs) that the DLL must match. Individual UIDs can contain the KNullUid wild card.

Load(const TDesC &, const TDesC &, const TUidType &, TUint32)

IMPORT_C TIntLoad(const TDesC &aFileName,
const TDesC &aPath,
const TUidType &aType,
TUint32aModuleVersion
)

Loads the named DLL that matches the specified UID type and version.

If successful, the function increments the usage count by one.

Parameters

const TDesC & aFileNameA descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName.
const TDesC & aPathA descriptor containing a list of path names, each separated by a semicolon. When specified, these paths are searched for the DLL before the standard search locations.
const TUidType & aTypeA UID type (a triplet of UIDs) that the DLL must match. Individual UIDs can contain the KNullUid wild card.
TUint32 aModuleVersionA version specification that the DLL must match. Major version must match exactly and minor version must be >= the specified minor version.

LoadRomLibrary(const TDesC &, const TDesC &)

IMPORT_C TIntLoadRomLibrary(const TDesC &aFileName,
const TDesC &aPath
)

Parameters

const TDesC & aFileName
const TDesC & aPath

Lookup(TInt)

IMPORT_C TLibraryFunctionLookup(TIntanOrdinal)const

Gets a pointer to the function at the specified ordinal within this DLL.

panic
USER 116 if anOrdinal is negative

Parameters

TInt anOrdinalThe ordinal of the required function in this DLL. This value must be positive.

Type()

IMPORT_C TUidTypeType()const

Gets this DLL's UID type.

The UID type is a property of a Symbian OS file; for a DLL, its value is set during the building of that DLL.

Member Enumerations Documentation

Enum TRequiredImageHeaderSize

Enumerators

KRequiredImageHeaderSize = 9*1024

Member Type Definitions Documentation

Typedef SInfoBuf

typedef TPckgBuf< SInfo >SInfoBuf

Use TInfoBuf

Typedef TInfoBuf

typedef TPckgBuf< TInfo >TInfoBuf

Type representing a TInfo struct packaged as a descriptor.

Typedef TInfoBufV2

typedef TPckgBuf< TInfoV2 >TInfoBufV2

Type representing a TInfo struct packaged as a descriptor, version 2.