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 void Close ()
IMPORT_C TFileName FileName ()
IMPORT_C TInt GetInfo (const TDesC &, TDes8 &)
IMPORT_C TInt GetInfoFromHeader (const TDesC8 &, TDes8 &)
IMPORT_C TInt GetRamSizes ( TInt &, TInt &)
IMPORT_C TInt Init ()
IMPORT_C TInt Load (const TDesC &, const TUidType &)
IMPORT_C TInt Load (const TDesC &, const TDesC &)
IMPORT_C TInt Load (const TDesC &, const TDesC &, const TUidType &)
IMPORT_C TInt Load (const TDesC &, const TDesC &, const TUidType &, TUint32 )
IMPORT_C TInt LoadRomLibrary (const TDesC &, const TDesC &)
IMPORT_C TLibraryFunction Lookup ( TInt )
IMPORT_C TUidType Type ()
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
enum TRequiredImageHeaderSize { 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 void Close ( )

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 TFileName FileName ( ) const

Gets the name of the DLL's file.

GetInfo(const TDesC &, TDes8 &)

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

Gets information about the specified DLL.

Parameters

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

GetInfoFromHeader(const TDesC8 &, TDes8 &)

IMPORT_C TInt GetInfoFromHeader ( 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 & aHeader A 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 & aInfoBuf A 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 TInt GetRamSizes ( 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 & aCodeSize The current size of the code for a RAM loaded DLL. This is zero for a ROM based DLL.
TInt & aConstDataSize The current size of the const data for a RAM loaded DLL. This is zero for a ROM based DLL.

Init()

IMPORT_C TInt Init ( )

InitL()

TInt InitL ( ) [private]

Load(const TDesC &, const TUidType &)

IMPORT_C TInt Load ( 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 & aFileName A descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName.
const TUidType & aType A 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 TInt Load ( const TDesC & aFileName,
const TDesC & aPath =  KNullDesC
)

Loads the named DLL.

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

Parameters

const TDesC & aFileName A 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 TInt Load ( 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 & aFileName A 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 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.
const TUidType & aType A 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 TInt Load ( const TDesC & aFileName,
const TDesC & aPath,
const TUidType & aType,
TUint32 aModuleVersion
)

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 & aFileName A 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 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.
const TUidType & aType A UID type (a triplet of UIDs) that the DLL must match. Individual UIDs can contain the KNullUid wild card.
TUint32 aModuleVersion A 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 TInt LoadRomLibrary ( const TDesC & aFileName,
const TDesC & aPath
)

Parameters

const TDesC & aFileName
const TDesC & aPath

Lookup(TInt)

IMPORT_C TLibraryFunction Lookup ( TInt anOrdinal ) const

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

panic
USER 116 if anOrdinal is negative

Parameters

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

Type()

IMPORT_C TUidType Type ( ) 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.