PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [XP Embedded] Login Screen statt Reboot


mnemonic
13.02.2006, 15:19
Hallo Leute,

folgender Sachverhalt beschert uns hier Stirnrunzeln.

Wir benutzen ein Windows XP Embedded für unsere Minimalrechner.
Mit Hilfe einer Tastenkombination kann man sich via "runas" einen Taskmanager aufmachen.
Für den Reboot einer Maschine haben wir uns ein kleines Programm geschrieben, das über folgenden Code einen Reboot initiiert:
void RebootSystem() {
HANDLE hToken;
TOKEN_PRIVILEGES tkp;

if (!OpenProcessToken(GetCurrentProcess(),
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
return;

LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
&tkp.Privileges[0].Luid);

tkp.PrivilegeCount = 1; // one privilege to set
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
(PTOKEN_PRIVILEGES)NULL, 0);

if (GetLastError() != ERROR_SUCCESS)
return;

LOG_DEBUG("System - Reboot");

ExitWindowsEx(EWX_REBOOT | EWX_FORCE, SHTDN_REASON_MAJOR_APPLICATION);
}
Neuerdings kann man sporadisch beobachten, dass nach dem Ausführen des Reboot Kommandos kein Reboot durchgeführt wird, sondern man lediglich an einem Login Screen landet, an dem der Benutzer sich wieder anmelden kann.
Das Problem wird nur noch unerklärlicher, da die Minimalsysteme mit einer Flashdisk ausgerüstet sind, die ein permanentes Speichern von Daten verhindern - nach einem Reboot ist das System immer wieder im Urzustand.
Bisher ist es mir nicht gelungen das Problem dauerhaft zu reproduzieren.

Hat vielleicht jemand eine Ahnung durch welche Settings oder sonstwas dieser Effekt hervorgerufen werden könnte?

Falls ich nun in meiner Panik und Hektik wichtige Informationen unterschlagen habe fragt bitte einfach nach, ich werde dann versuchen so schnell wie möglich nachzuliefern.

Vielen Dank & Grüße
Jens