RLibrary Class Reference
class RLibrary : public RHandleBase |
A handle to a dynamically loadable DLL.
The class is not intended for user derivation.
Nested Classes and Structures
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() |
Member Functions Documentation
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()
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. |
Load(const TDesC &, const TUidType &)
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 &)
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 &)
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)
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 |
| ) | |
Lookup(TInt)
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()
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 TInfoBuf
Type representing a TInfo struct packaged as a descriptor.
Typedef TInfoBufV2
Type representing a TInfo struct packaged as a descriptor, version 2.
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.