Creating and Building Kitl.dll (Windows Embedded CE 6.0)
1/5/2010
Moving the KITL source code from the OAL into Kitl.dll should be a fairly straightforward process. Kitl.dll must export the following new functions:
- OEMKitlStartup
This function is called from the kernel whenKITLIoctl(IOCTL_KITL_STARTUP, NULL, 0, NULL, 0, NULL)
is invoked by the OAL.
This function is equivalent to the OALKitlStart function, but it has been renamed to follow the convention for public OEM functions. The Windows Embedded CE 6.0 kernel requires that you use the new function name OEMKitlStartup. - OEMKitlIoctl
This function handles all KITL-related IOCTLs when KITL is removed from the OAL. In most cases, you can use the common version of this function, which is implemented in Oal_Kitl.lib.
Procedure
To create and build Kitl.dll
Move all your KITL-related source code from the Src\Oal\OalLib folder into the Src\Kitl folder.
For more information on how to do this, see Removing KITL from the OAL.
Copy the makefile from the Src\Oal\OalLib folder to the Src\Kitl folder.
Create the sources file.
To do this, use the following commands:
TARGETNAME=KITL TARGETTYPE=DYNLINK DLLENTRY=KitlDllMain DEFFILE=
Then, add the following TARGETLIBS: KitlCore.lib, OEMStub.lib, and NkStub.lib.
These libraries are in addition to any other libraries required by your KITL implementation.
Rename OALKitlStart to OEMKitlStartup.
Initialize two KITL power function pointers in OEMKitlInit.
To do this, use the following code example:
pKitl->pfnPowerOn = OALKitlPowerOn; pKitl->pfnPowerOff = OALKitlPowerOff;
This step is required only if your OAL is implementing these functions.
Run the
build
command and verify that Kitl.dll builds without any errors.
See Also
Tasks
How to Separate the Kernel, OAL, and KITL