Share via


DkmProcessLaunchRequest.LaunchProcess Method

Definition

Overloads

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

This API is remote-able version of the Win32 CreateProcess API. The implementation will merge the environment block, process command line redirection and launch the process.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

This overload of the LaunchProcess API is used to start a process without debugging and track the lifetime of the process. Note that it is invalid to call this API without setting the DkmProcessLaunchModeFlags.NoDebug flag or with the CREATE_SUSPENDED Win32 flag set.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

This API was introduced in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess()

This overload of the LaunchProcess API is used to start a process without debugging and track the lifetime of the process. Note that it is invalid to call this API without setting the DkmProcessLaunchModeFlags.NoDebug flag or with the CREATE_SUSPENDED Win32 flag set.

This API was introduced in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

LaunchProcess(Int32)

This API is remote-able version of the Win32 CreateProcess API. The implementation will merge the environment block, process command line redirection and launch the process.

LaunchProcess(DkmWorkList, Int32, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>)

This API is remote-able version of the Win32 CreateProcess API. The implementation will merge the environment block, process command line redirection and launch the process.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

public void LaunchProcess (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, int AdditionalWin32Flags, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Start.DkmLaunchProcessAsyncResult> CompletionRoutine);
member this.LaunchProcess : Microsoft.VisualStudio.Debugger.DkmWorkList * int * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Start.DkmLaunchProcessAsyncResult> -> unit
Public Sub LaunchProcess (WorkList As DkmWorkList, AdditionalWin32Flags As Integer, CompletionRoutine As DkmCompletionRoutine(Of DkmLaunchProcessAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

AdditionalWin32Flags
Int32

[In] Win32 process creation flags in addition to those found in the DkmProcessLaunchRequest.Win32Flags. This is often used to pass DEBUG_PROCESS (0x1), DEBUG_ONLY_THIS_PROCESS (0x2), or CREATE_SUSPENDED (0x4).

CompletionRoutine
DkmCompletionRoutine<DkmLaunchProcessAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to

LaunchProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>)

This overload of the LaunchProcess API is used to start a process without debugging and track the lifetime of the process. Note that it is invalid to call this API without setting the DkmProcessLaunchModeFlags.NoDebug flag or with the CREATE_SUSPENDED Win32 flag set.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

This API was introduced in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

public void LaunchProcess (Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Start.DkmLaunchNonDebugProcessAsyncResult> CompletionRoutine);
member this.LaunchProcess : Microsoft.VisualStudio.Debugger.DkmWorkList * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Start.DkmLaunchNonDebugProcessAsyncResult> -> unit
Public Sub LaunchProcess (WorkList As DkmWorkList, CompletionRoutine As DkmCompletionRoutine(Of DkmLaunchNonDebugProcessAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

CompletionRoutine
DkmCompletionRoutine<DkmLaunchNonDebugProcessAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to

LaunchProcess()

This overload of the LaunchProcess API is used to start a process without debugging and track the lifetime of the process. Note that it is invalid to call this API without setting the DkmProcessLaunchModeFlags.NoDebug flag or with the CREATE_SUSPENDED Win32 flag set.

This API was introduced in Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9).

public Microsoft.VisualStudio.Debugger.Start.DkmNonDebugProcess LaunchProcess ();
member this.LaunchProcess : unit -> Microsoft.VisualStudio.Debugger.Start.DkmNonDebugProcess
Public Function LaunchProcess () As DkmNonDebugProcess

Returns

[Out] DkmNonDebugProcess represents a process which was started in 'Start Without Debugging' (Ctrl-F5) scenarios. It provides functionality needed to track the lifetime of these processes.

Applies to

LaunchProcess(Int32)

This API is remote-able version of the Win32 CreateProcess API. The implementation will merge the environment block, process command line redirection and launch the process.

public:
 Microsoft::VisualStudio::Debugger::Start::DkmLaunchedProcessInfo LaunchProcess(int AdditionalWin32Flags);
public:
 Microsoft::VisualStudio::Debugger::Start::DkmLaunchedProcessInfo LaunchProcess(int AdditionalWin32Flags);
Microsoft::VisualStudio::Debugger::Start::DkmLaunchedProcessInfo LaunchProcess(int AdditionalWin32Flags);
public Microsoft.VisualStudio.Debugger.Start.DkmLaunchedProcessInfo LaunchProcess (int AdditionalWin32Flags);
member this.LaunchProcess : int -> Microsoft.VisualStudio.Debugger.Start.DkmLaunchedProcessInfo
Public Function LaunchProcess (AdditionalWin32Flags As Integer) As DkmLaunchedProcessInfo

Parameters

AdditionalWin32Flags
Int32

[In] Win32 process creation flags in addition to those found in the DkmProcessLaunchRequest.Win32Flags. This is often used to pass DEBUG_PROCESS (0x1), DEBUG_ONLY_THIS_PROCESS (0x2), or CREATE_SUSPENDED (0x4).

Returns

[Out] DkmLaunchedProcessInfo is returned from APIs that launch a process.

Applies to