Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi RtlCreateUserProcess: Fehlerhafte Initialisation (https://www.delphipraxis.net/131714-rtlcreateuserprocess-fehlerhafte-initialisation.html)

Zacherl 29. Mär 2009 16:18


RtlCreateUserProcess: Fehlerhafte Initialisation
 
Hey,

ich wollte mal bisschen mit der RtlCreateUserProcess API rumspielen und habe folgenden Code geschrieben:

Delphi-Quellcode:
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
---------------------------
Ich nehme mal an, dass ich irgendwas bei den ProcessParameters falsch gemacht habe. Hat jemand ne Idee woran das liegen könnte?

Gruß Zacherl


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz