Condividi tramite


DkmProcessLaunchRequest Classe

Definizione

DkmProcessLaunchRequest viene usato per descrivere il processo che il debugger deve avviare.

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
Ereditarietà
DkmProcessLaunchRequest
Ereditarietà
DkmProcessLaunchRequest
Attributi
Implementazioni

Proprietà

Arguments

[Facoltativo] Argomenti da passare al file eseguibile nella riga di comando.

Connection

Rappresenta una connessione tra il monitoraggio e l'IDE. Può trattarsi di una connessione locale se il monitoraggio è in esecuzione nello stesso processo dell'IDE oppure può essere una connessione remota. Nel processo di monitoraggio è presente una sola connessione.

DebugLaunchSettings

Impostazioni fornite durante un'operazione di avvio del debug da un sistema di progetto o da un altro chiamante di LaunchDebugTargets (o varie altre API di avvio del debug).

EngineSettings

[Facoltativo] Impostazioni da usare per l'avvio del file eseguibile nel debugger. Questa operazione può essere omessa se il processo non viene avviato nel debugger (ad esempio CTRL+F5).

Environment

[Facoltativo] Puntatore al blocco dell'ambiente per il nuovo processo. Se questo parametro è NULL, il nuovo processo usa l'ambiente del processo chiamante.

Un blocco di ambiente è costituito da un blocco con terminazione Null di stringhe con terminazione Null. Ogni stringa è nel formato seguente: 'name=value\0'. Poiché il segno di uguale viene usato come separatore, non deve essere usato nel nome di una variabile di ambiente.

FileName

Percorso del file eseguibile da avviare.

IsUnloaded

Restituisce true se per questo oggetto è stato generato un evento 'unloaded', ad esempio DkmThread::Unload, o se l'oggetto è stato chiuso. Si noti che è necessario prestare attenzione quando si controlla questo stato come, senza sincronizzazione, lo stato restituito potrebbe non essere più accurato dopo la lettura.

(Ereditato da DkmDataContainer)
LaunchFlags

Flag associati a una richiesta di avvio di un processo.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ModeFlags

Contrassegnare i tratti di un oggetto DkmProcessLaunchRequest.

StartupInfo

[Facoltativo] Informazioni aggiuntive usate per avviare un nuovo processo. Queste informazioni sono contenute nella struttura 'STARTUPINFO' in Win32.

UniqueId

UniqueId identifica in modo univoco la richiesta di avvio.

Win32Flags

Flag di creazione del processo Win32 usati durante l'avvio del processo. Ad esempio, è possibile passare CREATE_NO_WINDOW (0x08000000) per disabilitare la creazione della finestra della console. I flag seguenti non devono mai essere passati e il comportamento non è definito se sono presenti: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM e CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

Percorso completo della directory corrente per il processo. La stringa può anche specificare un percorso UNC.

Metodi

Close()

Chiude un'istanza dell'oggetto DkmProcessLaunchRequest. Verranno rilasciate tutte le risorse associate a questo oggetto in tutti i componenti. Sono incluse le risorse tra computer o limiti di marshalling gestiti/nativi.

Gli oggetti DkmProcessLaunchRequest vengono chiusi automaticamente quando l'oggetto DkmTransportConnection associato viene chiuso.

Questo metodo può essere chiamato solo dal componente che ha creato l'oggetto .

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

Create una nuova istanza dell'oggetto DkmProcessLaunchRequest. Il chiamante è responsabile della chiusura dell'oggetto creato al termine dell'operazione.

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

Create una nuova istanza dell'oggetto DkmProcessLaunchRequest. Il chiamante è responsabile della chiusura dell'oggetto creato al termine dell'operazione.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetDataItem<T>()

Ottiene l'istanza di 'T' aggiunta a questa istanza del contenitore. Se questo contenitore non contiene un 'T', questa funzione restituirà Null.

(Ereditato da DkmDataContainer)
LaunchDebuggedProcess()

Fa sì che il monitoraggio di debug crei un nuovo processo nel debugger. Il processo deve essere sospeso fino a quando non viene chiamato ResumeDebuggedProcess. Il monitoraggio di debug deve attendere ResumeDebuggedProcess prima di creare l'oggetto DkmProcess perché richiede il valore UniqueProcessId dal livello AD7.

Si noti che questo metodo può essere chiamato solo in risposta al pacchetto del debugger di Visual Studio che richiede un avvio. I componenti che desiderano avviare un altro processo nel debugger devono inviare un evento personalizzato a un pacchetto di Visual Studio. Da un pacchetto è possibile richiedere un'avvio tramite l'API IVsDebugger.LaunchDebugTargets.

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Fa sì che il monitoraggio di debug crei un nuovo processo nel debugger. Il processo deve essere sospeso fino a quando non viene chiamato ResumeDebuggedProcess. Il monitoraggio di debug deve attendere ResumeDebuggedProcess prima di creare l'oggetto DkmProcess perché richiede il valore UniqueProcessId dal livello AD7.

Si noti che questo metodo può essere chiamato solo in risposta al pacchetto del debugger di Visual Studio che richiede un avvio. I componenti che desiderano avviare un altro processo nel debugger devono inviare un evento personalizzato a un pacchetto di Visual Studio. Da un pacchetto è possibile richiedere un'avvio tramite l'API IVsDebugger.LaunchDebugTargets.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

LaunchProcess()

Questo overload dell'API LaunchProcess viene usato per avviare un processo senza eseguire il debug e tenere traccia della durata del processo. Si noti che non è valido chiamare questa API senza impostare il flag DkmProcessLaunchModeFlags.NoDebug o con il flag CREATE_SUSPENDED Win32 impostato.

Questa API è stata introdotta in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

Questo overload dell'API LaunchProcess viene usato per avviare un processo senza eseguire il debug e tenere traccia della durata del processo. Si noti che non è valido chiamare questa API senza impostare il flag DkmProcessLaunchModeFlags.NoDebug o con il flag CREATE_SUSPENDED Win32 impostato.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

Questa API è stata introdotta in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Questa API è una versione remota dell'API CreateProcess Win32. L'implementazione unisce il blocco di ambiente, elabora il reindirizzamento della riga di comando e avvia il processo.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento.

LaunchProcess(Int32)

Questa API è una versione remota dell'API CreateProcess Win32. L'implementazione unisce il blocco di ambiente, elabora il reindirizzamento della riga di comando e avvia il processo.

RemoveDataItem<T>()

Rimuovere l'istanza di 'T' da questo contenitore. In genere non è necessario chiamare questo metodo come contenitore di dati verrà svuotato automaticamente quando l'oggetto viene chiuso.

(Ereditato da DkmDataContainer)
ResumeDebuggedProcess(Guid)

Fa sì che il monitoraggio di debug riprenda un processo avviato e crei l'oggetto DkmProcess. L'oggetto DkmProcess verrà creato nel thread dell'evento e la creazione dell'oggetto invierà un evento di creazione del processo.

Si noti che questo metodo può essere chiamato solo in risposta al pacchetto del debugger di Visual Studio che richiede un avvio. I componenti che desiderano avviare un altro processo nel debugger devono inviare un evento personalizzato a un pacchetto di Visual Studio. Da un pacchetto è possibile richiedere un'avvio tramite l'API IVsDebugger.LaunchDebugTargets.

ResumeProcess()

Questa API viene usata per riprendere un processo avviato da CreateProcess con il flag LaunchSuspended impostato su true.

ResumeProcess(DkmProcess)

Questa API viene usata per riprendere un processo avviato da CreateProcess con il flag LaunchSuspended impostato su true.

Questa API è stata introdotta in Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

SetDataItem<T>(DkmDataCreationDisposition, T)

Inserire un nuovo elemento nel contenitore di dati.

(Ereditato da DkmDataContainer)

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

Da aggiungere.

Si applica a