IDebugClient5::CreateProcessAndAttach2-Methode (dbgeng.h)
Die CreateProcessAndAttach2--Methode erstellt einen Prozess aus einer angegebenen Befehlszeile und fügt dann an diesen Prozess oder einen anderen Benutzermodusprozess an.
Syntax
HRESULT CreateProcessAndAttach2(
[in] ULONG64 Server,
[in, optional] PSTR CommandLine,
[in] PVOID OptionsBuffer,
[in] ULONG OptionsBufferSize,
[in, optional] PCSTR InitialDirectory,
[in, optional] PCSTR Environment,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parameter
[in] Server
Gibt den Prozessserver an, der zum Anfügen an den Prozess verwendet werden soll. Wenn Server- null ist, stellt das Modul eine Verbindung mit dem lokalen Prozess her, ohne einen Prozessserver zu verwenden.
[in, optional] CommandLine
Gibt die Befehlszeile an, die ausgeführt werden soll, um den neuen Prozess zu erstellen. Wenn CommandLine-NULL-ist, wird kein Prozess erstellt, und diese Methoden verwenden ProcessId- zum Anfügen an einen vorhandenen Prozess.
[in] OptionsBuffer
Gibt die Prozesserstellungsoptionen 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. Dieser Parameter wird nur verwendet, wenn CommandLine- nicht NULL-ist. Wenn InitialDirectory-NULL-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 mit null-beendeten Zeichenfolgen. Jede Zeichenfolge weist das Format auf:
name=value
Beachten Sie, dass die letzten beiden Zeichen des Umgebungsblocks sowohl NULL-sind: eine, um die Zeichenfolge zu beenden, und eine, um den Block zu beenden.
Wenn Umgebungs- auf NULL-festgelegt ist, erbt der neue Prozess den Umgebungsblock des Prozessservers. Wenn das DEBUG_CREATE_PROCESS_THROUGH_RTL-Flag in OptionsBuffer-festgelegt ist, muss Umgebungs-NULL-sein.
[in] ProcessId
Gibt die Prozess-ID des Zielprozesses an, an den der Debugger angefügt wird. Wenn ProcessID- null ist, wird der Debugger an den Prozess angefügt, den er aus CommandLine-erstellt hat.
[in] AttachFlags
Gibt die Flags an, die steuern, wie der Debugger an den Zielprozess angefügt wird. Ausführliche Informationen zu diesen Flags finden Sie unter DEBUG_ATTACH_XXX.
Rückgabewert
Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte.
Rückgabecode | Beschreibung |
---|---|
|
Die Methode war erfolgreich. |
|
Dies wird zurückgegeben, wenn CommandLine-null ist und ProcessId null ist. |
Bemerkungen
Diese Methode ist nur für das Debuggen im Live-Benutzermodus verfügbar.
Wenn CommandLine- nicht NULL- ist und ProcessId- nicht null ist, erstellt das Modul den Prozess in einem angehaltenen Zustand. Das Modul setzt diesen neu erstellten Prozess fort, nachdem er erfolgreich eine Verbindung mit dem in ProcessIdangegebenen Prozess hergestellt hat.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Desktop |
Header- | dbgeng.h (include Dbgeng.h) |