次の方法で共有


DkmProcessLaunchRequest クラス

定義

DkmProcessLaunchRequest は、デバッガーが起動するプロセスを記述するために使用されます。

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
継承
DkmProcessLaunchRequest
継承
DkmProcessLaunchRequest
属性
実装

プロパティ

Arguments

[省略可能]コマンド ラインで実行可能ファイルに渡す引数。

Connection

これは、モニターと IDE の間の接続を表します。 モニターが IDE と同じプロセスで実行されている場合はローカル接続にすることも、リモート接続にすることもできます。 モニター プロセスでは、接続は 1 つだけです。

DebugLaunchSettings

プロジェクト システムまたは LaunchDebugTargets の他の呼び出し元 (または他のさまざまなデバッグ開始 API) からのデバッグ開始操作中に指定された設定。

EngineSettings

[省略可能]デバッガーでこの実行可能ファイルを起動するときに使用する設定。 これは、デバッガーでプロセスが起動されていない場合は省略できます (例: Ctrl + F5)。

Environment

[省略可能]新しいプロセスの環境ブロックへのポインター。 このパラメーターが NULL の場合、新しいプロセスでは呼び出し元プロセスの環境が使用されます。

環境ブロックは、null で終わる文字列の null で終わるブロックで構成されます。 各文字列は、'name=value\0' の形式です。 等号は区切り記号として使用されるため、環境変数の名前では使用しないでください。

FileName

起動する実行可能ファイルへのパス。

IsUnloaded

このオブジェクトに対して 'unloaded' イベントが発生した場合 (例: DkmThread::Unload が呼び出された場合)、またはオブジェクトが閉じている場合は true を返します。 この状態を同期せずに確認する場合は、読み取った後に返される状態が正確でなくなる可能性があるため、注意が必要です。

(継承元 DkmDataContainer)
LaunchFlags

プロセスを起動する要求に関連付けられているフラグ。

この API は Visual Studio 14 RTM (DkmApiVersion.VS14RTM) で導入されました。

ModeFlags

DkmProcessLaunchRequest の特性にフラグを設定します。

StartupInfo

[省略可能]新しいプロセスの起動に使用される追加情報。 この情報は、Win32 の 'STARTUPINFO' 構造体に含まれています。

UniqueId

UniqueId は起動要求を一意に識別します。

Win32Flags

プロセスの起動時に使用される Win32 プロセス作成フラグ。 たとえば、CREATE_NO_WINDOW (0x08000000) を渡して、コンソール ウィンドウの作成を無効にすることができます。 次のフラグは渡すべきではありません。また、DEBUG_PROCESS、DEBUG_ONLY_THIS_PROCESS、CREATE_SUSPENDED、EXTENDED_STARTUPINFO_PRESENT、CREATE_SEPARATE_WOW_VDM、CREATE_SHARED_WOW_VDM、CREATE_UNICODE_ENVIRONMENTの動作は未定義です。

WorkingDirectory

プロセスの現在のディレクトリへの完全なパス。 文字列では UNC パスを指定することもできます。

メソッド

Close()

DkmProcessLaunchRequest オブジェクト インスタンスを閉じます。 これにより、すべてのコンポーネントにわたって、このオブジェクトに関連付けられているすべてのリソースが解放されます。 これには、コンピューターまたはマネージド/ネイティブマーシャリングの境界を越えたリソースが含まれます。

DkmProcessLaunchRequest オブジェクトは、関連付けられている DkmTransportConnection オブジェクトが閉じられると自動的に閉じられます。

このメソッドは、 オブジェクトを作成したコンポーネントによってのみ呼び出されます。

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

新しい DkmProcessLaunchRequest オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後で閉じる役割を担います。

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

新しい DkmProcessLaunchRequest オブジェクト インスタンスをCreateします。 呼び出し元は、作成されたオブジェクトが完了した後で閉じる役割を担います。

この API は Visual Studio 14 RTM (DkmApiVersion.VS14RTM) で導入されました。

GetDataItem<T>()

このコンテナー インスタンスに追加された 'T' のインスタンスを取得します。 このコンテナーに 'T' が含まれていない場合、この関数は null を返します。

(継承元 DkmDataContainer)
LaunchDebuggedProcess()

デバッグ モニターがデバッガーの下に新しいプロセスを作成します。 ResumeDebuggedProcess が呼び出されるまで、プロセスは中断したままにする必要があります。 AD7 レイヤーの UniqueProcessId 値が必要であるため、デバッグ モニターは DkmProcess オブジェクトを作成する前に ResumeDebuggedProcess を待機する必要があります。

このメソッドは、起動を要求する Visual Studio デバッガー パッケージへの応答でのみ呼び出される場合があることに注意してください。 デバッガーで別のプロセスを起動するコンポーネントは、Visual Studio パッケージにカスタム イベントを送信する必要があります。 パッケージから、IVsDebugger.LaunchDebugTargets API を使用して起動を要求できます。

LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

デバッグ モニターがデバッガーの下に新しいプロセスを作成します。 ResumeDebuggedProcess が呼び出されるまで、プロセスは中断したままにする必要があります。 AD7 レイヤーの UniqueProcessId 値が必要であるため、デバッグ モニターは DkmProcess オブジェクトを作成する前に ResumeDebuggedProcess を待機する必要があります。

このメソッドは、起動を要求する Visual Studio デバッガー パッケージへの応答でのみ呼び出される場合があることに注意してください。 デバッガーで別のプロセスを起動するコンポーネントは、Visual Studio パッケージにカスタム イベントを送信する必要があります。 パッケージから、IVsDebugger.LaunchDebugTargets API を使用して起動を要求できます。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元には、完了ルーチンを介して要求が完了したことを通知されます。

LaunchProcess()

LaunchProcess API のこのオーバーロードは、デバッグなしでプロセスを開始し、プロセスの有効期間を追跡するために使用されます。 DkmProcessLaunchModeFlags.NoDebug フラグを設定しないか、CREATE_SUSPENDED Win32 フラグを設定せずに、この API を呼び出すと無効であることに注意してください。

この API は、Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) で導入されました。

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

LaunchProcess API のこのオーバーロードは、デバッグなしでプロセスを開始し、プロセスの有効期間を追跡するために使用されます。 DkmProcessLaunchModeFlags.NoDebug フラグを設定しないか、CREATE_SUSPENDED Win32 フラグを設定せずに、この API を呼び出すと無効であることに注意してください。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元には、完了ルーチンを介して要求が完了したことを通知されます。

この API は、Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) で導入されました。

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

この API は、Win32 CreateProcess API のリモートで使用できるバージョンです。 実装により、環境ブロックがマージされ、コマンド ライン リダイレクトが処理され、プロセスが起動されます。

このメソッドは、指定した作業リストに新しい作業項目を追加し、作業項目が追加されると を返します。 作業項目の実際の処理は非同期です。 呼び出し元には、完了ルーチンを介して要求が完了したことを通知されます。

LaunchProcess(Int32)

この API は、Win32 CreateProcess API のリモートで使用できるバージョンです。 実装により、環境ブロックがマージされ、コマンド ライン リダイレクトが処理され、プロセスが起動されます。

RemoveDataItem<T>()

このコンテナーから 'T' のインスタンスを削除します。 通常、オブジェクトが閉じられるとデータ コンテナーが自動的に空になるので、このメソッドを呼び出す必要があります。

(継承元 DkmDataContainer)
ResumeDebuggedProcess(Guid)

デバッグ モニターで起動されたプロセスを再開し、DkmProcess オブジェクトを作成します。 DkmProcess オブジェクトはイベント スレッドに作成され、オブジェクトを作成するとプロセス作成イベントが送信されます。

このメソッドは、起動を要求する Visual Studio デバッガー パッケージへの応答でのみ呼び出される場合があることに注意してください。 デバッガーで別のプロセスを起動するコンポーネントは、Visual Studio パッケージにカスタム イベントを送信する必要があります。 パッケージから、IVsDebugger.LaunchDebugTargets API を使用して起動を要求できます。

ResumeProcess()

この API は、LaunchSuspended フラグが true に設定された CreateProcess から起動されたプロセスを再開するために使用されます。

ResumeProcess(DkmProcess)

この API は、LaunchSuspended フラグが true に設定された CreateProcess から起動されたプロセスを再開するために使用されます。

この API は、Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) で導入されました。

SetDataItem<T>(DkmDataCreationDisposition, T)

データ コンテナーに新しい項目を配置します。

(継承元 DkmDataContainer)

明示的なインターフェイスの実装

IDisposable.Dispose()

追加する。

適用対象