Udostępnij przez


DkmProcessLaunchRequest Klasa

Definicja

Element DkmProcessLaunchRequest służy do opisywania procesu, który powinien zostać uruchomiony przez debuger.

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
Dziedziczenie
DkmProcessLaunchRequest
Dziedziczenie
DkmProcessLaunchRequest
Atrybuty
Implementuje

Właściwości

Arguments

[Opcjonalnie] Argumenty przekazywane do pliku wykonywalnego w wierszu polecenia.

Connection

Reprezentuje to połączenie między monitorem a środowiskiem IDE. Może to być połączenie lokalne, jeśli monitor jest uruchomiony w tym samym procesie co środowisko IDE lub może być połączeniem zdalnym. W procesie monitorowania istnieje tylko jedno połączenie.

DebugLaunchSettings

Ustawienia dostarczane podczas operacji uruchamiania debugowania z systemu projektu lub innego obiektu wywołującego LaunchDebugTargets (lub różne inne interfejsy API uruchamiania debugowania).

EngineSettings

[Opcjonalnie] Ustawienia do użycia podczas uruchamiania tego pliku wykonywalnego w debugerze. Może to zostać pominięte, jeśli proces nie jest uruchamiany w debugerze (np. Ctrl-F5).

Environment

[Opcjonalnie] Wskaźnik do bloku środowiska dla nowego procesu. Jeśli ten parametr ma wartość NULL, nowy proces używa środowiska procesu wywołującego.

Blok środowiska składa się z bloku zakończonego wartością null ciągów zakończonych wartością null. Każdy ciąg ma następującą postać: 'name=value\0'. Ponieważ znak równości jest używany jako separator, nie może być używany w nazwie zmiennej środowiskowej.

FileName

Ścieżka do pliku wykonywalnego do uruchomienia.

IsUnloaded

Zwraca wartość true, jeśli dla tego obiektu zostało podniesione zdarzenie "unloaded" (na przykład: DkmThread::Unload jest wywoływane) lub jeśli obiekt został zamknięty. Należy pamiętać, że podczas sprawdzania tego stanu należy zachować ostrożność, ponieważ bez synchronizacji zwrócony stan może nie być już dokładny po odczytaniu instrukcji.

(Odziedziczone po DkmDataContainer)
LaunchFlags

Flagi skojarzone z żądaniem uruchomienia procesu.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

ModeFlags

Cechy flagi DkmProcessLaunchRequest.

StartupInfo

[Opcjonalnie] Dodatkowe informacje używane do uruchamiania nowego procesu. Te informacje są zawarte w strukturze "STARTUPINFO" w systemie Win32.

UniqueId

UniqueId unikatowo identyfikuje żądanie uruchomienia.

Win32Flags

Flagi tworzenia procesu Win32 używane podczas uruchamiania procesu. Na przykład można przekazać CREATE_NO_WINDOW (0x08000000), aby wyłączyć tworzenie okna konsoli. Następujące flagi nigdy nie powinny być przekazywane, a zachowanie jest niezdefiniowane, jeśli są obecne: DEBUG_PROCESS, DEBUG_ONLY_THIS_PROCESS, CREATE_SUSPENDED, EXTENDED_STARTUPINFO_PRESENT, CREATE_SEPARATE_WOW_VDM, CREATE_SHARED_WOW_VDM i CREATE_UNICODE_ENVIRONMENT.

WorkingDirectory

Pełna ścieżka do bieżącego katalogu dla procesu. Ciąg może również określać ścieżkę UNC.

Metody

Close()

Zamyka wystąpienie obiektu DkmProcessLaunchRequest. Spowoduje to zwolnienie wszystkich zasobów skojarzonych z tym obiektem we wszystkich składnikach. Obejmuje to zasoby w granicach komputera lub zarządzanego/natywnego marshalingu.

Obiekty DkmProcessLaunchRequest są automatycznie zamykane po zamknięciu skojarzonego obiektu DkmTransportConnection.

Ta metoda może być wywoływana tylko przez składnik, który utworzył obiekt.

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

Twórca nowe wystąpienie obiektu DkmProcessLaunchRequest. Obiekt wywołujący jest odpowiedzialny za zamknięcie utworzonego obiektu po zakończeniu.

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

Twórca nowe wystąpienie obiektu DkmProcessLaunchRequest. Obiekt wywołujący jest odpowiedzialny za zamknięcie utworzonego obiektu po zakończeniu.

Ten interfejs API został wprowadzony w programie Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetDataItem<T>()

Pobiera wystąpienie elementu "T", które zostało dodane do tego wystąpienia kontenera. Jeśli ten kontener nie zawiera wartości "T", ta funkcja zwróci wartość null.

(Odziedziczone po DkmDataContainer)
LaunchDebuggedProcess()

Powoduje, że monitor debugowania tworzy nowy proces w debugerze. Proces powinien zostać wstrzymany do momentu wywołania klasy ResumeDebuggedProcess. Monitor debugowania musi czekać na resumeDebuggedProcess przed utworzeniem obiektu DkmProcess, ponieważ potrzebuje wartości UniqueProcessId z warstwy AD7.

Należy pamiętać, że ta metoda może być wywoływana tylko w odpowiedzi na pakiet debugera programu Visual Studio żądający uruchomienia. Składniki, które chcą uruchomić inny proces w debugerze, powinny wysłać zdarzenie niestandardowe do pakietu programu Visual Studio. Z poziomu pakietu można zażądać uruchomienia za pośrednictwem interfejsu API IVsDebugger.LaunchDebugTargets.

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Powoduje, że monitor debugowania tworzy nowy proces w debugerze. Proces powinien zostać wstrzymany do momentu wywołania klasy ResumeDebuggedProcess. Monitor debugowania musi czekać na resumeDebuggedProcess przed utworzeniem obiektu DkmProcess, ponieważ potrzebuje wartości UniqueProcessId z warstwy AD7.

Należy pamiętać, że ta metoda może być wywoływana tylko w odpowiedzi na pakiet debugera programu Visual Studio żądający uruchomienia. Składniki, które chcą uruchomić inny proces w debugerze, powinny wysłać zdarzenie niestandardowe do pakietu programu Visual Studio. Z poziomu pakietu można zażądać uruchomienia za pośrednictwem interfejsu API IVsDebugger.LaunchDebugTargets.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

LaunchProcess()

To przeciążenie interfejsu API LaunchProcess służy do uruchamiania procesu bez debugowania i śledzenia okresu istnienia procesu. Należy pamiętać, że wywołanie tego interfejsu API jest nieprawidłowe bez ustawiania flagi DkmProcessLaunchModeFlags.NoDebug lub z ustawioną flagą CREATE_SUSPENDED Win32.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

To przeciążenie interfejsu API LaunchProcess służy do uruchamiania procesu bez debugowania i śledzenia okresu istnienia procesu. Należy pamiętać, że wywołanie tego interfejsu API jest nieprawidłowe bez ustawiania flagi DkmProcessLaunchModeFlags.NoDebug lub z ustawioną flagą CREATE_SUSPENDED Win32.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

Ten interfejs API został wprowadzony w programie Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

Ten interfejs API jest zdalną wersją interfejsu API CreateProcess Win32. Implementacja scali blok środowiska, przetworzy przekierowanie wiersza polecenia i uruchomi proces.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

LaunchProcess(Int32)

Ten interfejs API jest zdalną wersją interfejsu API CreateProcess Win32. Implementacja scali blok środowiska, przetworzy przekierowanie wiersza polecenia i uruchomi proces.

RemoveDataItem<T>()

Usuń wystąpienie elementu "T" z tego kontenera. Zwykle wywołanie tej metody jest niepotrzebne, ponieważ kontener danych zostanie automatycznie opróżniony po zamknięciu obiektu.

(Odziedziczone po DkmDataContainer)
ResumeDebuggedProcess(Guid)

Powoduje wznowienie uruchomionego procesu przez monitor debugowania i utworzenie obiektu DkmProcess. Obiekt DkmProcess zostanie utworzony w wątku zdarzeń, a utworzenie obiektu spowoduje wysłanie zdarzenia tworzenia procesu.

Należy pamiętać, że ta metoda może być wywoływana tylko w odpowiedzi na pakiet debugera programu Visual Studio żądający uruchomienia. Składniki, które chcą uruchomić inny proces w debugerze, powinny wysłać zdarzenie niestandardowe do pakietu programu Visual Studio. Z poziomu pakietu można zażądać uruchomienia za pośrednictwem interfejsu API IVsDebugger.LaunchDebugTargets.

ResumeProcess()

Ten interfejs API służy do wznawiania procesu, który został uruchomiony z modułu CreateProcess z flagą LaunchSuspended ustawioną na true.

ResumeProcess(DkmProcess)

Ten interfejs API służy do wznawiania procesu, który został uruchomiony z modułu CreateProcess z flagą LaunchSuspended ustawioną na true.

Ten interfejs API został wprowadzony w programie Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

SetDataItem<T>(DkmDataCreationDisposition, T)

Umieść nowy element w kontenerze danych.

(Odziedziczone po DkmDataContainer)

Jawne implementacje interfejsu

IDisposable.Dispose()

Do dodania.

Dotyczy