webForumDet fria alternativet
Logga in / Bli medlem

InitiateSystemShutdown och ej inloggad

Programmering

5 svar · 241 visningar · startad av jt

Medlem sedan juni 2000350 inlägg
Frågan#1

Använder InitiateSystemShutdown i en NT service och det fungerar bra om man är inloggad.
Är ingen inloggad så fungerar det inte, hur kan man lösa detta?

Testat på windows XP.

Medlem sedan juni 20022 599 inlägg
#2

Svårt att svara på utan fler detaljer (kod).

1. Är du säker på att det är InitiateSystemShutdown som misslyckas? Det kan ju vara ett tidigare anrop som refererar till en resurs som inte är tillgänglig innan inloggning som misslyckas.

2. Om det är InitiateSystemShutdown som misslyckas, har du då provat att logga GetLastError för att se vad felet är.

3. Kvarstår problemet även om du anger bForceAppsClosed till true? Om maskinen är "locked" (ej samma sak som opåloggad) så måste man tex det.

4. Finns det nåt i event-loggen som ger en ledtråd?

5. Vad kör servicen som? System? (Borde iofs inte spela nån roll eftersom det funkar när du är påloggad.)

Medlem sedan juni 2000350 inlägg
#3

>1. Är du säker på att det är InitiateSystemShutdown som misslyckas? Det kan ju vara ett tidigare anrop som
Är inte säker på något men har försökt att fånga de fel som kan uppstå innan tex när privilege sätts.
InitiateSystemShutdown returnerar 0, altså det lyckades inte.

>2. Om det är InitiateSystemShutdown som misslyckas....
Jo, tror meddelandet var "The device is not ready".

Skriver till loggfil på divers ställen och koden verkar köras som tänkt.

Har sökt lite och det verkar som andra har haft liknande problem, är det någon som lyckats med detta?

Dåligt med tid nu återkommer till dina andra frågor.

Medlem sedan juni 2000350 inlägg
#4

>3. Kvarstår problemet ....
Samma problem.

>4. Finns det nåt i event-loggen som ger en ledtråd?
Inget som jag hittar.

>5. Vad kör servicen som? System?...
Som System.

Medlem sedan juni 20022 599 inlägg
#5

Har själv aldrig använt InitiateSystemShutdown i en service och "The device is not ready" låter lagom diffust så jag har egentligen ingen aning.

Lite löst svammel:

1. Har du samma problem på alla maskiner eller bara på en?

2. Om Nej på 1: Har du provat att stänga ner lite andra servicar för att se vilken (om någon) som inte går med på avstängning/reboot?

3. Finns problemet bara på XP?

4. Har du provat nåt annat API? En möjlighet är ju att först kolla vad InitiateSystemShutdown returnerar. Om den returnerar 0 så drämmer man till med ExitWindowsEx(EWX_FORCE | EWX_REBOOT,NULL). Det är väl den lokala maskinen vi talar om?

Medlem sedan juni 2000350 inlägg
#6

Har testat på lite fler datorer och det funkar(2000 och XP).
Maskinen som har problemet använder XP embedded, antar att det beror på detta, konstigt att det fungerar när man är inloggad.

Låter nog problemet ligga och mogna lite får undersöka om det kan vara något som saknas i XPE installationen.

Tackar för hjälpen

260 ms totalt · 4 externa anrop · v20260731065814-full.5386d3bf
127 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)