Implementing KITL Entry Points in OalKitl.exe (Windows Embedded CE 6.0)
1/5/2010
Once you have created OalKitl.exe, you must implement KITL entry points in Kernel\KernKitl.
Procedure
To implement KITL entry points in OalKitl.exe
Export the OEMKitlStartup function.
This function is called from the kernel when
KITLIoctl(IOCTL_KITL_STARTUP, NULL, 0, NULL, 0, NULL)
is invoked by the OAL.For statically-linked KITL, this function should not be called and is a no-op.
BOOL OEMKitlStartup(void) { return FALSE; }
Export the OEMKitlIoctl function.
This function handles all KITL-related IOCTLs. For statically-linked KITL, this function is a no-op. The IOCTLs are handled by OEMIoControl as in previous versions of Windows Embedded CE.
Run the
build
command and verify that OalKitl.exe builds without any errors.Add the following line in %_WINCEROOT%\Platform\<Hardware Platform Name>\<Platform>.bat:
set IMGNOKITLDLL=1
Setting this indicates that KITL has not been componentized. Without this flag, the Make Run-Time Image (MakeImg) process will attempt to include Kitl.dll in the final run-time image and will fail with a file not found error.
As in previous versions of Windows Embedded CE, you can still set IMGNOKITL=1 to control whether Oal.exe or OalKitl.exe is included in the final run-time image.
See Also
Tasks
How to Separate the Kernel and OAL and Link KITL to the OAL