Adaptation/GUID-D207C135-EF02-4D1A-A48C-4AB8C6703496.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-D207C135-EF02-4D1A-A48C-4AB8C6703496" xml:lang="en"><title>Device
       
    13 Driver Structure</title><shortdesc>This document describes the structures used to implement device
       
    14 drivers as LDDs and PDDs.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    15 <p>Both LDDs and PDDs are DLLs. </p>
       
    16 <p>They implement a specific interface that allows the kernel to initialise
       
    17 them, and for user-side code to communicate with them. </p>
       
    18 <p>An LDD must implement: </p>
       
    19 <ul>
       
    20 <li id="GUID-A57D8838-EF0B-5096-99EC-D9197C58EE35"><p>A <codeph>DLogicalChannel</codeph> or <codeph>DLogicalChannelBase</codeph> derived
       
    21 class, representing the logical channel, which handles user requests. </p> </li>
       
    22 <li id="GUID-1E3CD4B7-15BC-59B1-939B-2AF34F0438BB"><p>A <codeph>DLogicalDevice</codeph> derived
       
    23 class, which provides a factory for the logical channel objects, called the
       
    24 LDD factory. </p> </li>
       
    25 <li id="GUID-2342FF0C-4CC0-561F-81CB-2643E09351B4"><p>A DLL entry point function
       
    26 at ordinal 1, which constructs the LDD factory object. </p> <p>It is possible
       
    27 that a device driver is also an extension, in which case the entry point will
       
    28 also be used for extension initialisation. </p> </li>
       
    29 </ul>
       
    30 <p>A PDD must implement: </p>
       
    31 <ul>
       
    32 <li id="GUID-0D5220C0-764F-5711-970F-60D19AD21320"><p>A <codeph>DBase</codeph> derived
       
    33 class representing the physical channel, which is the interface between the
       
    34 logical device and the physical device. </p> </li>
       
    35 <li id="GUID-BEC551B8-AED6-5EEC-8FDA-C742B4C1F7DC"><p>A <codeph>DPhysicalDevice</codeph> derived
       
    36 class, which provides a factory for the physical channel objects, called the
       
    37 PDD factory. </p> </li>
       
    38 <li id="GUID-9D72BF3C-6D13-5D9F-A8E3-D376D445AC08"><p>A DLL entry point function
       
    39 at ordinal 1, which constructs the PDD factory object. </p> </li>
       
    40 </ul>
       
    41 </conbody></concept>