wince系统重启函数

利用OEM制造商提供的OEMIoControl可以随意地处理IOCTL_HAL_REBOOT。然而应用程序不能直接调用OEMIoControl,只能通过先调用KernelIoControl然后由KernelIoControl调用OEMIoControl。   
  #include   "winioctl.h"   
  BOOL   KernelIoControl(DWORD   dwIoControlCode,   LPVOID   lpInBuf,   DWORD   nInBufSize,   LPVOID   lpOutBuf,   DWORD   nOutBufSize,   LPDWORD   lpBytesReturned);   
  #define   IOCTL_HAL_GET_DEVICE_INFO   CTL_CODE(FILE_DEVICE_HAL,   1,   METHOD_BUFFERED,   FILE_ANY_ACCESS)   
  #define   IOCTL_HAL_REBOOT   CTL_CODE(FILE_DEVICE_HAL,   15,   METHOD_BUFFERED,   FILE_ANY_ACCESS)   
  KernelIoControl(IOCTL_HAL_REBOOT,   &inVal,   4,   outBuf,   1024,   &bytesReturned);   
  执行上面的代码可以实现软重起。如果你想要实现硬重起,还需首先调用SetCleanRebootFlag函数。   

也可以这样用

KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL)
  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值