Windows CE Restart
-
First you need some definitions that are not included in Pocket PC SDK, but you can find it in <pkfuncs.h> file from the Platform Builder (
).
-
ich hab das ganze platform sdk. da is kein pkfuncs.h
hat jemand das? und wenn woher...
-
wahrscheinlich:
Platform SDK != Platform Builder
Ich glaub dieser Platform Builder kostet glaub ich was. GOOGLE einfach.
Aber die Deklaration von KernelIoControl sollte doch reichen. Außer das brauch noch irgendwelche Libs.
-
ok ich brauch noch die Coredll.dll...
was bleibt ist das IOCTL_HAL_REBOOT unbekannt ist, wie muß ich den den definen?
-
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
-
merci, so hab code gegoogelt der macht nen hard reset
#include <winioctl.h > #define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS) extern "C" __declspec(dllimport)void SetCleanRebootFlag(void); extern "C" __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned); BOOL HardResetPocketPC() { SetCleanRebootFlag(); return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL); }
ich brauch aber nen soft reset, sonst is ja alles weg, was nicht der sinn der sache ist...
-
sorry
wußte ich nicht. ich kenn mich sowieso nicht mit den teilen aus. hab das nur per google gefunden. :p
-
Trotzdem vielen dank!
so geht der soft reset...
#include <winioctl.h> #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); BOOL ResetPocketPC() { return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL); }
danke nochmal...
-
Also lags an SetCleanRebootFlag(); ? Oder was ist der Unterschied?
-
exactly