引用 15 楼 muyizhaoyang 的回复:
引用 13 楼 feihu521a 的回复:
可以通过定时器加软件重启实现
软件重启代码你可以参考一下:
C/C++ code#define IOCTL_HAL_REBOOT? ? CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)extern"C" __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode,? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LPVOID lpInBuf,? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DWORD nInBufSize,? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LPVOID lpOutBuf,? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DWORD nOutBufSize,? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LPDWORD lpBytesReturned);//? ? dwType = 1:// for COLD_Boot//? ? dwType = 2:// for WARM_Boot//? ? dwType = 3:// for SOFT_Bootvoid? SysReboot( DWORD dwType )
{
? ? KernelIoControl( IOCTL_HAL_REBOOT, (LPVOID)&dwType,sizeof(DWORD), NULL,0, NULL );? ?
}
我刚开始就是用的这个函数,没有反应~~
要在OAL层添加相关的代码,不同的平台,reboot所要做的是不同的。