Freigeben über


DkmProcessLaunchRequest Klasse

Definition

DkmProcessLaunchRequest wird verwendet, um den Prozess zu beschreiben, der vom Debugger gestartet werden soll.

public ref class DkmProcessLaunchRequest : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")]
public class DkmProcessLaunchRequest : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("7107fc56-3477-2708-fc00-174f33c04b08")>]
type DkmProcessLaunchRequest = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmProcessLaunchRequest
Inherits DkmDataContainer
Implements IDisposable
Vererbung
DkmProcessLaunchRequest
Vererbung
DkmProcessLaunchRequest
Attribute
Implementiert

Eigenschaften

Arguments

[Optional] Argumente, die an die ausführbare Datei in der Befehlszeile übergeben werden sollen.

Connection

Dies stellt eine Verbindung zwischen dem Monitor und der IDE dar. Es kann entweder eine lokale Verbindung sein, wenn der Monitor im selben Prozess wie die IDE ausgeführt wird, oder es kann sich um eine Remoteverbindung handelt. Im Überwachungsprozess besteht nur eine Verbindung.

DebugLaunchSettings

Einstellungen, die während eines Startdebugvorgangs von einem Projektsystem oder einem anderen Aufrufer von LaunchDebugTargets (oder verschiedenen anderen Startdebuggen-APIs) bereitgestellt werden.

EngineSettings

[Optional] Einstellungen, die beim Starten dieser ausführbaren Datei unter dem Debugger verwendet werden sollen. Dies kann weggelassen werden, wenn der Prozess nicht unter dem Debugger gestartet wird (z. B. STRG-F5).

Environment

[Optional] Ein Zeiger auf den Umgebungsblock für den neuen Prozess. Wenn dieser Parameter NULL ist, verwendet der neue Prozess die Umgebung des aufrufenden Prozesses.

Ein Umgebungsblock besteht aus einem NULL-beendeten Block von Zeichenfolgen, die null beendet wurden. Jede Zeichenfolge hat die folgende Form: 'name=value\0'. Da das Gleichheitszeichen als Trennzeichen verwendet wird, darf es nicht im Namen einer Umgebungsvariablen verwendet werden.

FileName

Pfad zur ausführbaren Datei, die gestartet werden soll.

IsUnloaded

Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
LaunchFlags

Flags, die einer Anforderung zum Starten eines Prozesses zugeordnet sind.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

ModeFlags

Kennzeichenmerkmale einer DkmProcessLaunchRequest.

StartupInfo

[Optional] Zusätzliche Informationen, die zum Starten eines neuen Prozesses verwendet werden. Diese Informationen sind in der STARTUPINFO-Struktur in Win32 enthalten.

UniqueId

UniqueId identifiziert die Startanforderung eindeutig.

Win32Flags

Win32-Prozesserstellungsflags, die beim Starten des Prozesses verwendet werden. Beispielsweise könnte CREATE_NO_WINDOW (0x08000000) übergeben werden, um die Erstellung des Konsolenfensters zu deaktivieren. Die folgenden Flags sollten niemals übergeben werden, und das Verhalten ist nicht definiert, wenn sie vorhanden sind: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM und CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

Der vollständige Pfad zum aktuellen Verzeichnis für den Prozess. Die Zeichenfolge kann auch einen UNC-Pfad angeben.

Methoden

Close()

Schließt ein DkmProcessLaunchRequest-Objekt instance. Dadurch werden alle Ressourcen freigegeben, die diesem Objekt für alle Komponenten zugeordnet sind. Dies schließt Ressourcen über Computer- oder verwaltete/native Marshallinggrenzen hinweg ein.

DkmProcessLaunchRequest-Objekte werden automatisch geschlossen, wenn das zugeordnete DkmTransportConnection-Objekt geschlossen wird.

Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat.

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmDataItem)

Create ein neues DkmProcessLaunchRequest-Objekt instance. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem er fertig ist.

Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmProcessLaunchFlags, DkmDataItem)

Create ein neues DkmProcessLaunchRequest-Objekt instance. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem er fertig ist.

Diese API wurde in Visual Studio 14 RTM (DkmApiVersion.VS14RTM) eingeführt.

GetDataItem<T>()

Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
LaunchDebuggedProcess()

Bewirkt, dass der Debugmonitor einen neuen Prozess unter dem Debugger erstellt. Der Prozess sollte angehalten bleiben, bis ResumeDebuggedProcess aufgerufen wird. Der Debugmonitor muss auf ResumeDebuggedProcess warten, bevor das DkmProcess-Objekt erstellt wird, da er den UniqueProcessId-Wert aus der AD7-Ebene benötigt.

Beachten Sie, dass diese Methode nur als Reaktion darauf aufgerufen werden kann, dass das Visual Studio-Debuggerpaket einen Start anfordert. Komponenten, die einen anderen Prozess unter dem Debugger starten möchten, sollten ein benutzerdefiniertes Ereignis an ein Visual Studio-Paket senden. Von einem Paket aus kann ein Start über die IVsDebugger.LaunchDebugTargets-API angefordert werden.

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Bewirkt, dass der Debugmonitor einen neuen Prozess unter dem Debugger erstellt. Der Prozess sollte angehalten bleiben, bis ResumeDebuggedProcess aufgerufen wird. Der Debugmonitor muss auf ResumeDebuggedProcess warten, bevor das DkmProcess-Objekt erstellt wird, da er den UniqueProcessId-Wert aus der AD7-Ebene benötigt.

Beachten Sie, dass diese Methode nur als Reaktion darauf aufgerufen werden kann, dass das Visual Studio-Debuggerpaket einen Start anfordert. Komponenten, die einen anderen Prozess unter dem Debugger starten möchten, sollten ein benutzerdefiniertes Ereignis an ein Visual Studio-Paket senden. Von einem Paket aus kann ein Start über die IVsDebugger.LaunchDebugTargets-API angefordert werden.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

LaunchProcess()

Diese Überladung der LaunchProcess-API wird verwendet, um einen Prozess ohne Debuggen zu starten und die Lebensdauer des Prozesses nachzuverfolgen. Beachten Sie, dass es ungültig ist, diese API aufzurufen, ohne das Flag DkmProcessLaunchModeFlags.NoDebug oder das CREATE_SUSPENDED Win32-Flag festzulegen.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

Diese Überladung der LaunchProcess-API wird verwendet, um einen Prozess ohne Debuggen zu starten und die Lebensdauer des Prozesses nachzuverfolgen. Beachten Sie, dass es ungültig ist, diese API aufzurufen, ohne das Flag DkmProcessLaunchModeFlags.NoDebug oder das CREATE_SUSPENDED Win32-Flag festzulegen.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) eingeführt.

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Diese API ist remotefähige Version der Win32 CreateProcess-API. Die Implementierung führt den Umgebungsblock zusammen, verarbeitet die Befehlszeilenumleitung und startet den Prozess.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

LaunchProcess(Int32)

Diese API ist remotefähige Version der Win32 CreateProcess-API. Die Implementierung führt den Umgebungsblock zusammen, verarbeitet die Befehlszeilenumleitung und startet den Prozess.

RemoveDataItem<T>()

Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird.

(Geerbt von DkmDataContainer)
ResumeDebuggedProcess(Guid)

Bewirkt, dass der Debugmonitor einen gestarteten Prozess fort setzt und das DkmProcess-Objekt erstellt. Das DkmProcess-Objekt wird im Ereignisthread erstellt, und beim Erstellen des Objekts wird ein Prozesserstellungsereignis gesendet.

Beachten Sie, dass diese Methode nur als Reaktion darauf aufgerufen werden kann, dass das Visual Studio-Debuggerpaket einen Start anfordert. Komponenten, die einen anderen Prozess unter dem Debugger starten möchten, sollten ein benutzerdefiniertes Ereignis an ein Visual Studio-Paket senden. Von einem Paket aus kann ein Start über die IVsDebugger.LaunchDebugTargets-API angefordert werden.

ResumeProcess()

Diese API wird verwendet, um einen Prozess fortzusetzen, der von CreateProcess gestartet wurde, wobei das LaunchSuspended-Flag auf true festgelegt ist.

ResumeProcess(DkmProcess)

Diese API wird verwendet, um einen Prozess fortzusetzen, der von CreateProcess gestartet wurde, wobei das LaunchSuspended-Flag auf true festgelegt ist.

Diese API wurde in Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) eingeführt.

SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Muss hinzugefügt werden.

Gilt für: