PHP Forum - Coding Board
November 23, 2017, 12:13:27 *
Willkommen Gast. Bitte einloggen oder registrieren.

Einloggen mit Benutzername, Passwort und Sitzungslänge
News:
 
   Übersicht   Hilfe Suche Einloggen Registrieren  
Seiten: [1]
  Drucken  
Autor Thema: RtlCreateUserProcess: Fehlerhafte Initialisation  (Gelesen 53 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Zacherl
Entwickler Team
Moderator
Sr. Member
****
Beiträge: 454



Profil anzeigen E-Mail
« am: März 29, 2009, 04:20:49 »

Hey,
 
ich wollte mal bisschen mit der RtlCreateUserProcess API rumspielen und habe folgenden Code geschrieben:
 
Code:
procedure TfrmMain.Button2Click(Sender: TObject);
var
  ProcessParameters: PRTL_USER_PROCESS_PARAMETERS;
  ProcessInfo: RTL_PROCESS_INFORMATION;
  ImageFileName,
  SystemDirectory: UNICODE_STRING;
begin
  FillChar(ProcessInfo, SizeOf(RTL_PROCESS_INFORMATION), #0);
  ProcessInfo.Size := SizeOf(RTL_PROCESS_INFORMATION);
  RtlInitUnicodeString(@ImageFileName, '\??\C:\Windows\notepad.exe');
  RtlInitUnicodeString(@SystemDirectory, '\??\C:\Windows\System32');
  RtlCreateProcessParameters(@ProcessParameters, @ImageFileName,
    @SystemDirectory, nil, nil, 0, nil, nil, nil, nil);
  RtlCreateUserProcess(@ImageFileName, OBJ_CASE_INSENSITIVE,
    ProcessParameters, nil, nil, 0, false, 0, 0, @ProcessInfo);
  NtResumeThread(ProcessInfo.hThread, nil);
  RtlDestroyProcessParameters(@ProcessParameters);
end;

Der Prozess wird erzeugt, alle APIs geben STATUS_SUCCESS zurück, aber wenn ich mit NtResumeThread den Prozess laufen lasse, erscheint folgende Fehlermeldung:
 
Zitat
---------------------------
notepad.exe - Fehler in Anwendung
---------------------------
Die Anwendung konnte nicht richtig initialisiert werden (0xc0000033). Klicken Sie auf "OK", um die Anwendung zu beenden.
---------------------------
OK  
---------------------------
Gespeichert

Seiten: [1]
  Drucken  
 
Gehe zu:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines | New Look by Nolt Prüfe XHTML 1.0 Prüfe CSS