Freigeben über


IDebugClient4::CreateProcessAndAttach-Methode (dbgeng.h)

Die CreateProcessAndAttach--Methode erstellt einen Prozess aus einer angegebenen Befehlszeile, und fügen Sie dann an einen anderen Benutzermodusprozess an. Der erstellte Prozess wird angehalten und darf nur ausgeführt werden, wenn die Anfügung abgeschlossen ist. Dies ermöglicht beim Debuggen von Client- und Serverprozessen eine grobe Synchronisierung.

Syntax

HRESULT CreateProcessAndAttach(
  [in]           ULONG64 Server,
  [in, optional] PSTR    CommandLine,
  [in]           ULONG   CreateFlags,
  [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 werden an einen vorhandenen Prozess angefügt, wie AttachProcess-.

[in] CreateFlags

Gibt die Kennzeichnungen an, die beim Erstellen des Prozesses verwendet werden sollen. Ausführliche Informationen zu diesen Flags finden Sie unter DEBUG_CREATE_PROCESS_OPTIONS.CreateFlags.

[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
S_OK
Die Methode war erfolgreich.

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.

Hinweis Das Modul wird erst vollständig an den Prozess angefügt, wenn die WaitForEvent--Methode aufgerufen wurde. Erst nachdem der Prozess ein Ereignis generiert hat , z. B. das Ereignis "create-process", wird es in der Debuggersitzung verfügbar.
 
Weitere Informationen zum Erstellen und Anfügen an Livebenutzermodusziele finden Sie unter Live User-Mode Targets.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h)

Siehe auch

.attach (Attach to Process)

.create (Create Process)

AbandonCurrentProcess-

AttachProcess-

ConnectProcessServer-

CreateProcess2-

CreateProcessAndAttach2-

DetachCurrentProcess-

GetRunningProcessDescription-

GetRunningProcessSystemIds-

IDebugClient-

IDebugClient2-

IDebugClient3-

IDebugClient4-

IDebugClient5-

TerminateCurrentProcess-