AssignProcessToJobObject und Vista

08/07/2008 - 09:07 von Oliver Bluhm | Report spam
Hallo Apiprofis,

ich habe folgendes Problem. Mein Programm startet eine Konsolenanwendung
mittels CreateProcess. Danach wird, falls noch nicht vorhanden, ein
Jobobjekt erzeugt (CreateJobObject) und das von Createprocess
zurückgegebene Handle wird an dieses Jobobjekt gebunden
(AssignProcessToJobObject).
Hintergrund des Ganzen ist, dass die Konsolenanwendung automatisch
mitbeendet werden soll, wenn das VFP-Programm beendet wird. Das ganze
funktioniert auch einwandfrei unter 2000 und XP. Jedoch làßt sich unter
Vista Business das Prozesshandle nicht an ein Jobobjekt binden und es kommt
zum "Access denied".
UAC sind abgeschaltet und ein Manifest ist vorhanden und funktioniert, weil
man sonst keine Konsolenanwendung aus seinem Programm aus starten könnte.

Weiß jemand Rat?

Oliver
 

Lesen sie die antworten

#1 Erich TODT
08/07/2008 - 11:09 | Warnen spam
Hallo Oliver!

ich habe folgendes Problem. Mein Programm startet eine Konsolenanwendung
mittels CreateProcess. Danach wird, falls noch nicht vorhanden, ein
Jobobjekt erzeugt (CreateJobObject)
[..]
Jedoch làßt sich unter
Vista Business das Prozesshandle nicht an ein Jobobjekt binden und es kommt
zum "Access denied".



Nur eine Vermutung, ohne es jetzt selbst ausprobiert zu haben:

Möglicherweise musst du beim Erstellen deiner Kernel-Objekte einen entsprechenden Parameter für lpSecurityAttributes angeben.
Standardmàßig übergibt man hier ja 0, was so viel heißt wie "vom aufrufenden Prozess oder Thread (Impersonation-Token) übernehmen".

Die Version 3 der dFPUG.FLL hat eine Funktion GetNullSA() eingebaut, die dir einen Pointer (als Integer) auf eine
SECURITY_ATTRIBUTES
Structure liefert, die so initialisiert ist, dass dann jeder alles mit dem resultierenden Handle machen darf.

In der Beschreibung zur FLL findest du ein Beispiel, in dem eine Datei mit so einem Null-Security-Descriptor erstellt wird,
wo dann jeder Vollzugriff darauf hat.

Ich hoffe, das hilft dir weiter...

Herzliche Grüße
Erich


Erich TODT
dFPUG Regionalleiter Wien
URL: http://wien.dfpug.de/

Ähnliche fragen