Sdílet prostřednictvím


DkmProcessLaunchRequest Třída

Definice

DkmProcessLaunchRequest se používá k popisu procesu, který by měl ladicí program spustit.

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
Dědičnost
DkmProcessLaunchRequest
Dědičnost
DkmProcessLaunchRequest
Atributy
Implementuje

Vlastnosti

Arguments

[Volitelné] Argumenty, které se mají předat spustitelnému souboru na příkazovém řádku.

Connection

To představuje připojení mezi monitorováním a integrovaným vývojovém prostředím. Může se jednat o místní připojení, pokud monitorování běží ve stejném procesu jako integrované vývojové prostředí (IDE), nebo může být vzdálené připojení. V procesu monitorování existuje pouze jedno připojení.

DebugLaunchSettings

Nastavení zadaná během operace ladění spuštění ze systému projektu nebo jiného volajícího launchDebugTargets (nebo různých jiných rozhraní API pro ladění spuštění).

EngineSettings

[Volitelné] Nastavení, která se mají použít při spouštění tohoto spustitelného souboru v ladicím programu. To může být vynecháno, pokud se proces nespouštějí v ladicím programu (například Ctrl-F5).

Environment

[Volitelné] Ukazatel na blok prostředí pro nový proces. Pokud má tento parametr hodnotu NULL, použije nový proces prostředí volajícího procesu.

Blok prostředí se skládá z bloku řetězců ukončených hodnotou null s ukončenou hodnotou null. Každý řetězec je v následujícím tvaru: name=value\0. Vzhledem k tomu, že symbol rovná se používá jako oddělovač, nesmí být použit v názvu proměnné prostředí.

FileName

Cesta ke spustitelnému souboru, který se má spustit.

IsUnloaded

Vrátí hodnotu true, pokud byla pro tento objekt vyvolána událost unloaded (příklad: DkmThread::Unload je volána) nebo pokud byl objekt uzavřen. Mějte na paměti, že při kontrole tohoto stavu je potřeba střídmět, protože bez synchronizace nemusí být vrácený stav po přečtení přesný.

(Zděděno od DkmDataContainer)
LaunchFlags

Příznaky přidružené k žádosti o spuštění procesu.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ModeFlags

Příznak vlastností DkmProcessLaunchRequest.

StartupInfo

[Volitelné] Další informace použité ke spuštění nového procesu Tyto informace jsou obsaženy ve struktuře STARTUPINFO ve Win32.

UniqueId

UniqueId jednoznačně identifikuje žádost o spuštění.

Win32Flags

Příznaky vytváření procesů Win32 použité při spuštění procesu Může se například předat CREATE_NO_WINDOW (0x08000000), aby se zakázalo vytváření okna konzoly. Následující příznaky by se nikdy neměly předávat a chování není definováno, pokud jsou k dispozici: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM a CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

Úplná cesta k aktuálnímu adresáři procesu. Řetězec může také zadat cestu UNC.

Metody

Close()

Zavře instanci objektu DkmProcessLaunchRequest. Tím se uvolní všechny prostředky přidružené k tomuto objektu napříč všemi komponentami. To zahrnuje prostředky napříč počítači nebo spravovanými nebo nativními hranicemi seřazování.

DkmProcessLaunchRequest objekty jsou automaticky uzavřeny při jejich přidružené DkmTransportConnection objekt je uzavřen.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

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

Create novou instanci objektu DkmProcessLaunchRequest. Volající zodpovídá za zavření vytvořeného objektu po dokončení.

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

Create novou instanci objektu DkmProcessLaunchRequest. Volající zodpovídá za zavření vytvořeného objektu po dokončení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetDataItem<T>()

Získá instanci T, která byla přidána do této instance kontejneru. Pokud tento kontejner neobsahuje "T", vrátí tato funkce hodnotu null.

(Zděděno od DkmDataContainer)
LaunchDebuggedProcess()

Způsobí, že monitorování ladění vytvoří nový proces v ladicím programu. Proces by měl být pozastaven až do zavolání ResumeDebuggedProcess. Monitorování ladění musí před vytvořením objektu DkmProcess počkat na ResumeDebuggedProcess, protože potřebuje hodnotu UniqueProcessId z vrstvy AD7.

Všimněte si, že tuto metodu lze volat pouze v reakci na balíček ladicího programu sady Visual Studio, který požaduje spuštění. Komponenty, které chtějí spustit další proces v ladicím programu, by měly odeslat vlastní událost balíčku sady Visual Studio. Z balíčku je možné požádat o spuštění prostřednictvím rozhraní API IVsDebugger.LaunchDebugTargets.

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Způsobí, že monitorování ladění vytvoří nový proces v ladicím programu. Proces by měl být pozastaven až do zavolání ResumeDebuggedProcess. Monitorování ladění musí před vytvořením objektu DkmProcess počkat na ResumeDebuggedProcess, protože potřebuje hodnotu UniqueProcessId z vrstvy AD7.

Všimněte si, že tuto metodu lze volat pouze v reakci na balíček ladicího programu sady Visual Studio, který požaduje spuštění. Komponenty, které chtějí spustit další proces v ladicím programu, by měly odeslat vlastní událost balíčku sady Visual Studio. Z balíčku je možné požádat o spuštění prostřednictvím rozhraní API IVsDebugger.LaunchDebugTargets.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

LaunchProcess()

Toto přetížení rozhraní API LaunchProcess se používá ke spuštění procesu bez ladění a sledování životnosti procesu. Všimněte si, že není platné volat toto rozhraní API bez nastavení příznaku DkmProcessLaunchModeFlags.NoDebug nebo s nastavením příznaku CREATE_SUSPENDED Win32.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

Toto přetížení rozhraní API LaunchProcess se používá ke spuštění procesu bez ladění a sledování životnosti procesu. Všimněte si, že není platné volat toto rozhraní API bez nastavení příznaku DkmProcessLaunchModeFlags.NoDebug nebo s nastavením příznaku CREATE_SUSPENDED Win32.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Toto rozhraní API je vzdálená verze rozhraní Win32 CreateProcess API. Implementace sloučí blok prostředí, proces přesměrování příkazového řádku a spustí proces.

Tato metoda přidá novou pracovní položku do zadaného pracovního seznamu a vrátí po připojení pracovní položky. Skutečné zpracování pracovní položky je asynchronní. Volající bude upozorněn, že žádost je dokončena prostřednictvím rutiny dokončení.

LaunchProcess(Int32)

Toto rozhraní API je vzdálená verze rozhraní Win32 CreateProcess API. Implementace sloučí blok prostředí, proces přesměrování příkazového řádku a spustí proces.

RemoveDataItem<T>()

Odeberte z tohoto kontejneru instanci T. Obvykle není nutné volat tuto metodu, protože kontejner dat se automaticky vyprázdní při zavření objektu.

(Zděděno od DkmDataContainer)
ResumeDebuggedProcess(Guid)

Způsobí, že monitorování ladění obnoví spuštěný proces a vytvoří objekt DkmProcess. Objekt DkmProcess se vytvoří ve vlákně události a vytvořením objektu se odešle událost vytvoření procesu.

Všimněte si, že tuto metodu lze volat pouze v reakci na balíček ladicího programu sady Visual Studio, který požaduje spuštění. Komponenty, které chtějí spustit další proces v ladicím programu, by měly odeslat vlastní událost balíčku sady Visual Studio. Z balíčku je možné požádat o spuštění prostřednictvím rozhraní API IVsDebugger.LaunchDebugTargets.

ResumeProcess()

Toto rozhraní API se používá k obnovení procesu, který byl spuštěn z procesu CreateProcess s příznakem LaunchSuspended nastaveným na hodnotu true.

ResumeProcess(DkmProcess)

Toto rozhraní API se používá k obnovení procesu, který byl spuštěn z procesu CreateProcess s příznakem LaunchSuspended nastaveným na hodnotu true.

Toto rozhraní API bylo zavedeno v sadě Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

SetDataItem<T>(DkmDataCreationDisposition, T)

Do kontejneru dat umístěte novou položku.

(Zděděno od DkmDataContainer)

Explicitní implementace rozhraní

IDisposable.Dispose()

Chcete-li přidat.

Platí pro