#include <e32std.h>
class RLibrary : public RHandleBase |
Public Member Type Definitions | |
---|---|
typedef | TPckgBuf< SInfo > SInfoBuf |
typedef | TPckgBuf< TInfo > TInfoBuf |
typedef | TPckgBuf< TInfoV2 > TInfoBufV2 |
Public Member Enumerations | |
---|---|
enum | TRequiredImageHeaderSize { KRequiredImageHeaderSize } |
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() |
Inherited Attributes | |
---|---|
RHandleBase::iHandle |
Inherited Enumerations | |
---|---|
RHandleBase:TAttributes |
A handle to a dynamically loadable DLL.
The class is not intended for user derivation.
IMPORT_C void | Close | ( | ) |
Reimplemented from RHandleBase::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.
Gets information about the specified DLL.
Parameter | Description |
---|---|
aFileName | A descriptor containing the name of the DLL to be checked. The length of the file name must not be greater than KMaxFileName. |
aInfoBuf | On return, contains information about the DLL (RLibrary::TInfo) |
Returns: KErrNone, if successful; KErrBadName, if the length of aFileName is greater than KMaxFileName; otherwise one of the other system wide error codes.
Gets information about an executable binary, (DLL or EXE), based on header data from that binaries image.
Parameter | Description |
---|---|
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. |
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. |
Returns: KErrNone, if successful; KErrUnderflow, if the size of aHeader is too small; KErrCorrupt, if the data in aHeader isn't a valid executable image header; Otherwise one of the other system wide error codes.
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.
Parameter | Description |
---|---|
aCodeSize | The current size of the code for a RAM loaded DLL. This is zero for a ROM based DLL. |
aConstDataSize | The current size of the const data for a RAM loaded DLL. This is zero for a ROM based DLL. |
Returns: KErrNone if successful, otherwise one of the system-wide error codes.
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.
Parameter | Description |
---|---|
aFileName | A descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName. |
aType | A UID type (a triplet of UIDs) which the DLL must match. Individual UIDs can contain the KNullUid wild card. |
Returns: KErrNone, if successful; KErrBadName, if the length of aFileName is greater than KMaxFileName; otherwise one of the other system wide error codes.
Loads the named DLL.
If successful, the function increments the usage count by one.
Parameter | Description |
---|---|
aFileName | A descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName. |
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. By default, no pathnames are specified. |
Returns: KErrNone, if successful; KErrBadName, if the length of aFileName is greater than KMaxFileName; otherwise one of the other system wide error codes.
Loads the named DLL that matches the specified UID type.
If successful, the function increments the usage count by one.
Parameter | Description |
---|---|
aFileName | A descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName. |
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. |
aType | A UID type (a triplet of UIDs) that the DLL must match. Individual UIDs can contain the KNullUid wild card. |
Returns: KErrNone, if successful; KErrBadName, if the length of aFileName is greater than KMaxFileName; otherwise one of the other system wide error codes.
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.
Parameter | Description |
---|---|
aFileName | A descriptor containing the name of the DLL to be loaded. The length of the file name must not be greater than KMaxFileName. |
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. |
aType | A UID type (a triplet of UIDs) that the DLL must match. Individual UIDs can contain the KNullUid wild card. |
aModuleVersion | A version specification that the DLL must match. Major version must match exactly and minor version must be >= the specified minor version. |
Returns: KErrNone, if successful; KErrBadName, if the length of aFileName is greater than KMaxFileName; otherwise one of the other system wide error codes.
IMPORT_C TLibraryFunction | Lookup | ( | TInt | anOrdinal | ) | const |
Gets a pointer to the function at the specified ordinal within this DLL.
Parameter | Description |
---|---|
anOrdinal | The ordinal of the required function in this DLL. This value must be positive. |
Returns: A pointer to the function at position anOrdinal in this DLL. The value is NULL if there is no function at that ordinal.
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.
Returns: The UID type of this DLL. Note that the first TUid component of the TUidType has the value KDynamicLibraryUid.