diff -r 000000000000 -r 89d6a7a84779 Symbian3/SDK/Source/GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Symbian3/SDK/Source/GUID-FF312AAD-E40B-5238-A31C-B34AFD892D5A.dita Thu Jan 21 18:18:20 2010 +0000 @@ -0,0 +1,48 @@ + + + + + +Static +interface DLLs +

A static interface DLL represents an interface which is defined to its +clients by one or more headers for use at compile time, and an import library +for use at link time.

+

When a executable that is a client of the DLL is loaded at run-time, the +loader notes that it requires the static interface DLL to be available. The +loader then either loads the DLL or, if it is loaded already, attaches the +new client to it.

+

In Symbian platform, all static interface DLLs must have a uid2 of 0x1000008d. +The particular static interface DLL is then identified by name and by uid3.

+

For example, if a DLL called helloview.dll is built +with a uid3 of 0x10000252, then the name used in the import +library for ARM builds of Symbian platform is helloview[10000252]. +When the loader loads the helloview.dll, it checks that +its UID is 0x10000252. If the uid3 in the +DLL does not match, then the load fails.

+
mmp project specification

A static interface DLL +project file must specify the correct target type and UID:

    +
  • Specify the TARGETTYPE line +as:

    TARGETTYPE dll

    This +implicitly specifies UID1 correctly.

  • +
  • Specify the UID for +the DLL in a UID line:

    UID 0x1000008d +<UID3>

  • +
+

An example of the mmp project file for a +static DLL is given below:

TARGET CreateStaticDLL.dll +TARGETTYPE dll +UID 0x1000008d 0x10004268 +SOURCEPATH . +SOURCE CreateStaticDLL.cpp +USERINCLUDE . +SYSTEMINCLUDE \Epoc32\include +LIBRARY euser.lib +EXPORTUNFROZEN
+
\ No newline at end of file