WINCE6的KernelIoControl函数在用户模式和内核模式下都可以调用,但是有很大的差别。
oalioctl.dll的源码在"WINCE600/PUBLIC/COMMON/OAK/OALIOCTL/"文件夹中,
IOControl函数对IO控制代码做了判断,是下列值时调用BSP中的OEMIoControl函数并传递所有的参数,否则设置ERROR_NOT_SUPPORTED错误代码并返回FALSE。
- 在内核模式下调用KernelIoControl最终会执行到BSP中的OEMIoControl函数。
- 在用户模式下则是调用oalioctl.dll中的IOControl函数。
oalioctl.dll的源码在"WINCE600/PUBLIC/COMMON/OAK/OALIOCTL/"文件夹中,
IOControl函数对IO控制代码做了判断,是下列值时调用BSP中的OEMIoControl函数并传递所有的参数,否则设置ERROR_NOT_SUPPORTED错误代码并返回FALSE。
- IOCTL_HAL_GET_CACHE_INFO
- IOCTL_HAL_GET_DEVICE_INFO
- IOCTL_HAL_GET_DEVICEID
- IOCTL_HAL_GET_UUID
- IOCTL_PROCESSOR_INFORMATION
本文介绍了WINCE6中KernelIoControl函数在不同模式下的调用方式及实现细节。在内核模式下,该函数最终会调用到BSP中的OEMIoControl;而在用户模式下,则会调用oalioctl.dll中的IOControl函数,并详细解释了其对特定IO控制代码的处理。
1607

被折叠的 条评论
为什么被折叠?



