SetSystemPowerState 함수를 쓴다.
플래그로 POWER_STATE_RESET를 지정한다.
KernelIoControl, IOCTL_HAL_REBOOT 보다 낫다.
트랜잭션 파일 시스템을 쓰지 않는다 하더라도 자체적으로 파일 시스템을 트랜잭션 하고 리셋한다.
IOCTL 문을 커널 안에서 제대로 구현하지 않았다면,
파일시스템의 트랜잭션이 망가질 수 있을 것 같다.
#include <pm.h>
SetSystemPowerState(NULL, POWER_STATE_RESET, POWER_FORCE);