DkmProcessLaunchRequest Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- Vererbung
- 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. |