Adaptation/GUID-D207C135-EF02-4D1A-A48C-4AB8C6703496.dita
author Graeme Price <GRAEME.PRICE@NOKIA.COM>
Fri, 15 Oct 2010 14:32:18 +0100
changeset 15 307f4279f433
permissions -rw-r--r--
Initial contribution of the Adaptation Documentation.

<?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-D207C135-EF02-4D1A-A48C-4AB8C6703496" xml:lang="en"><title>Device
Driver Structure</title><shortdesc>This document describes the structures used to implement device
drivers as LDDs and PDDs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Both LDDs and PDDs are DLLs. </p>
<p>They implement a specific interface that allows the kernel to initialise
them, and for user-side code to communicate with them. </p>
<p>An LDD must implement: </p>
<ul>
<li id="GUID-A57D8838-EF0B-5096-99EC-D9197C58EE35"><p>A <codeph>DLogicalChannel</codeph> or <codeph>DLogicalChannelBase</codeph> derived
class, representing the logical channel, which handles user requests. </p> </li>
<li id="GUID-1E3CD4B7-15BC-59B1-939B-2AF34F0438BB"><p>A <codeph>DLogicalDevice</codeph> derived
class, which provides a factory for the logical channel objects, called the
LDD factory. </p> </li>
<li id="GUID-2342FF0C-4CC0-561F-81CB-2643E09351B4"><p>A DLL entry point function
at ordinal 1, which constructs the LDD factory object. </p> <p>It is possible
that a device driver is also an extension, in which case the entry point will
also be used for extension initialisation. </p> </li>
</ul>
<p>A PDD must implement: </p>
<ul>
<li id="GUID-0D5220C0-764F-5711-970F-60D19AD21320"><p>A <codeph>DBase</codeph> derived
class representing the physical channel, which is the interface between the
logical device and the physical device. </p> </li>
<li id="GUID-BEC551B8-AED6-5EEC-8FDA-C742B4C1F7DC"><p>A <codeph>DPhysicalDevice</codeph> derived
class, which provides a factory for the physical channel objects, called the
PDD factory. </p> </li>
<li id="GUID-9D72BF3C-6D13-5D9F-A8E3-D376D445AC08"><p>A DLL entry point function
at ordinal 1, which constructs the PDD factory object. </p> </li>
</ul>
</conbody></concept>