windows mobile下重新启动的有关问题

windows mobile下重新启动的问题
我看到msdn上给出了一个调用系统的dll实现重新启动的例子,不过是在ppc平台上,在vs2005调试时,ppc平台一切正常,但是换到sp2003就不起作用了(没有提示错误),因为这个是调用的coredll.dll里面的函数,而这个dll属于wince的核心部分,和ppc,sp的区别应该是没有关系的。我的问题就是,为什么sp下面不能正确使用coredll中的函数了呢?

------解决方案--------------------
MOV R1, #0
MOV R0, #2
BL AYGSHELL_2011

sp重启

------解决方案--------------------
PPC和SP重启的代码没有问题啊,
#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);
HRESULT softReset()
{
return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}
是我一直用的代码,根你的一样的。