Freigeben über


IDebugClient5::CreateProcess2-Methode (dbgeng.h)

Die CreateProcess2-Methode führt den angegebenen Befehl aus, um einen neuen Prozess zu erstellen.

Syntax

HRESULT CreateProcess2(
  [in]           ULONG64 Server,
  [in]           PSTR    CommandLine,
  [in]           PVOID   OptionsBuffer,
  [in]           ULONG   OptionsBufferSize,
  [in, optional] PCSTR   InitialDirectory,
  [in, optional] PCSTR   Environment
);

Parameter

[in] Server

Gibt den Prozessserver an, der an den Prozess angefügt wird. Wenn Server null ist, erstellt die Engine den lokalen Prozess, ohne einen Prozessserver zu verwenden.

[in] CommandLine

Gibt die Befehlszeile an, die zum Erstellen des neuen Prozesses ausgeführt werden soll.

[in] OptionsBuffer

Gibt die Optionen für die Prozesserstellung an. OptionsBuffer ist ein Zeiger auf eine DEBUG_CREATE_PROCESS_OPTIONS-Struktur .

[in] OptionsBufferSize

Gibt die Größe des Puffers OptionsBuffer an. Dies sollte auf sizeof(DEBUG_CREATE_PROCESS_OPTIONS) festgelegt werden.

[in, optional] InitialDirectory

Gibt das Startverzeichnis für den Prozess an. Wenn InitialDirectoryNULL ist, wird das aktuelle Verzeichnis für den Prozessserver verwendet.

[in, optional] Environment

Gibt einen Umgebungsblock für den neuen Prozess an. Ein Umgebungsblock besteht aus einem NULL-beendeten Block von Zeichenfolgen, die null beendet wurden. Jede Zeichenfolge hat folgendes Format:

name=value

Beachten Sie, dass die letzten beiden Zeichen des Umgebungsblocks NULL sind: eines zum Beenden der Zeichenfolge und eines zum Beenden des Blocks.

Wenn Environment auf NULL festgelegt ist, erbt der neue Prozess den Umgebungsblock des Prozessservers. Wenn das flag DEBUG_CREATE_PROCESS_THROUGH_RTL in OptionsBuffer festgelegt ist, muss EnvironmentNULL sein.

Rückgabewert

Diese Methode gibt möglicherweise auch Fehlerwerte zurück. Weitere Informationen finden Sie unter Rückgabewerte .

Rückgabecode BESCHREIBUNG
S_OK
Die Methode war erfolgreich.

Hinweise

Diese Methode ist nur für das Debuggen im Livebenutzermodus verfügbar.

Wenn CreateFlags eines der Flags DEBUG_PROCESS oder DEBUG_ONLY_THIS_PROCESS enthält, wird die Engine auch an den neu erstellten Prozess angefügt. Dies ähnelt dem Verhalten von CreateProcessAndAttach2 , dessen Argument ProcessId auf null festgelegt ist.

Weitere Informationen zum Erstellen und Anfügen an Livebenutzermodusziele finden Sie unter Live User-Mode Targets.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile dbgeng.h (dbgeng.h einschließen)

Weitere Informationen

.create (Erstellungsprozess)

AbandonCurrentProcess

AttachProcess

ConnectProcessServer

CreateProcess2

CreateProcessAndAttach2

DetachCurrentProcess

GetRunningProcessDescription

GetRunningProcessSystemIds

IDebugClient5

TerminateCurrentProcess