Monday 2 November 2009

Calling Kernel IO routines from Apps in CE 6.0

In Windows CE 6.0 applications are unable to call kernel IO many routines including new OEM functions in the kernel using KernelIoControl. There are a few exceptions to this rule, these are:

IOCTL_HAL_GET_CACHE_INFO
IOCTL_HAL_GET_DEVICE_INFO
IOCTL_HAL_GET_DEVICEID
IOCTL_HAL_GET_UUID
IOCTL_PROCESSOR_INFORMATION:

What is not commonly known is that this list can be extended by adding any new (or existing) IOCTLs to the following public library and sysgen (or copy this to your platform and update the links to build the OALIOCTL.DLL:

%_WINCEROOT%\PUBLIC\COMMON\OAK\OALIOCTL

If your CE5.0 platform had a lot of support for platform specific operations using KernelIOControl these can continue to be called from CE6.0 applications if you wish now!

No comments: