Symbian3/SDK/Source/GUID-7572B1F0-66CD-53B8-A479-4A078C9CB28A.dita
changeset 0 89d6a7a84779
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-7572B1F0-66CD-53B8-A479-4A078C9CB28A.dita	Thu Jan 21 18:18:20 2010 +0000
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
+<!-- This component and the accompanying materials are made available under the terms of the License 
+"Eclipse Public License v1.0" which accompanies this distribution, 
+and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
+<!-- Initial Contributors:
+    Nokia Corporation - initial contribution.
+Contributors: 
+-->
+<!DOCTYPE concept
+  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
+<concept id="GUID-7572B1F0-66CD-53B8-A479-4A078C9CB28A" xml:lang="en"><title>Module
+definition file</title><shortdesc>Module definition file contains the list of exported functions
+of a Polymorphic DLL.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>In conventional systems, DLLs may export by name or by ordinal. Symbian
+platform only supports exporting by ordinal. Exporting by ordinal reduces
+the time taken to find the item in the DLL export table and also reduces the
+size of the DLL as names need not be stored. Ordinals are used for accessing
+the address of a function in the <keyword>DLL export table</keyword>.</p>
+<p>The only item which should be exported from a polymorphic interface DLL
+is a function which returns an instance of the object supplied by the DLL;
+this should be exported at ordinal 1.</p>
+<p>Once a user program has created an instance of the object supplied by the
+DLL, other DLL functions may be accessed using the virtual function table;
+such functions do not need to be exported.</p>
+<p>A <keyword>module definition file</keyword> (<filepath>.def</filepath>)
+is a text file which lists the <keyword>exported</keyword> functions of a
+DLL; it is used in an <keyword>ordinal build</keyword> to insert ordinal information
+into the DLL export table.</p>
+<p>It is only necessary to create this file for a polymorphic interface DLL;
+static interface DLLs use an <keyword>import library</keyword> to obtain relevant
+information about exported functions.</p>
+</conbody></concept>
\ No newline at end of file