diff -r 578be2adaf3e -r 307f4279f433 Adaptation/GUID-B94FFCA4-1EB3-46A7-9FF9-54C55D67FFE8.dita --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Adaptation/GUID-B94FFCA4-1EB3-46A7-9FF9-54C55D67FFE8.dita Fri Oct 15 14:32:18 2010 +0100 @@ -0,0 +1,49 @@ + + + + + +Entry +PointsThis document describes the entry points for each type of device +driver. +
Driver +entry points

The Device Driver framework supports the following +device driver models:

    +
  • The LDD-PDD model: +drivers of this type must be loaded by a user application.

  • +
  • The kernel extension model: +drivers of this type are loaded by the Kernel at boot up.

  • +
  • The combined model +is a combination of the kernel extension and LDD-PDD models. This is used +when the driver must perform some initialization at the time of boot up.

  • +

For each model, the Kernel provides a standard API for the entry +points to the driver.

+
Standard LDD

For a standard LDD-PDD driver, the +driver entry points are defined by the following macros:

For LDDs, +use DECLARE_STANDARD_LDD. For example:

// LDD entry point +DECLARE_STANDARD_LDD() + { + // create LDD factory object + return new DExDriverLogicalDevice; + }
+
Standard PDD

For PDDs, use DECLARE_STANDARD_PDD. +For example:

// PDD entry point +DECLARE_STANDARD_PDD() + { + // create PDD factory object + return new DExH4PhysicalDevice; + }
+
Kernel extension

For a kernel extension, the entry +point is defined by the macro DECLARE_STANDARD_EXTENSION.

+
Combined model

For drivers with a combined model, +the entry points are defined by the following macros:

    +
  • For LDDs, use DECLARE_EXTENSION_LDD.

  • +
  • For PDDs, use DECLARE_EXTENSION_PDD.

  • +

A driver creates factory objects in the entry point routines.

+
\ No newline at end of file