Implementing KITL Entry Points in OalKitl.exe

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/27/2008

Once you have created OalKitl.exe, you must implement KITL entry points in Kernel\KernKitl.

Procedure

To implement KITL entry points in OalKitl.exe

  1. 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;
    }
    
  2. 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.

  3. Run the build command and verify that OalKitl.exe builds without any errors.

  4. 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

Concepts

BSP Migration Guide