Hard Reset from .NET CF
Have you ever needed to write .NET CF code that forces a device to hard-reset? Here's my solution:
[DllImport("Coredll.dll")]
extern static int KernelIoControl(int dwIoControlCode, IntPtr lpInBuf, int nInBufSize, IntPtr lpOutBuf, int nOutBufSize , ref int lpBytesReturned );
[DllImport("Coredll.dll")]
extern static void SetCleanRebootFlag();
public
void HardReset()
{
int IOCTL_HAL_REBOOT = 0x101003C;
int bytesReturned = 0;
SetCleanRebootFlag();
KernelIoControl(IOCTL_HAL_REBOOT, IntPtr.Zero, 0, IntPtr.Zero, 0, ref bytesReturned );
}
[Author: Robert Levy]