DkmProcessLaunchRequest 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
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
- 繼承
- 繼承
- 屬性
- 實作
屬性
Arguments |
[選擇性]要傳遞至命令行上可執行檔的自變數。 |
Connection |
這代表監視器與 IDE 之間的連線。 如果監視器在與 IDE 相同的進程中執行,則它可以是本機連線,也可以是遠端連線。 在監視程式中,只有一個連線。 |
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 物件實例。 這會在所有元件中釋放與此對象相關聯的任何資源。 這包括跨計算機或受控/原生封送處理界限的資源。 當相關聯的 DkmTransportConnection 物件關閉時,會自動關閉 DkmProcessLaunchRequest 物件。 這個方法只能由建立 物件的元件呼叫。 |
Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmDataItem) |
Create 新的 DkmProcessLaunchRequest 物件實例。 呼叫端負責在完成之後關閉已建立的物件。 |
Create(String, String, String, String, DkmProcessStartupInfo, DkmProcessLaunchModeFlags, Int32, DkmTransportConnection, DkmEngineSettings, DkmDebugLaunchSettings, DkmProcessLaunchFlags, DkmDataItem) |
Create 新的 DkmProcessLaunchRequest 物件實例。 呼叫端負責在完成之後關閉已建立的物件。 此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。 |
GetDataItem<T>() |
取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。 (繼承來源 DkmDataContainer) |
LaunchDebuggedProcess() |
讓偵錯監視器在調試程式下建立新的進程。 程序應該暫停,直到呼叫 ResumeDebuggedProcess 為止。 偵錯監視器必須在建立 DkmProcess 物件之前等候 ResumeDebuggedProcess,因為它需要 AD7 Layer 的 UniqueProcessId 值。 請注意,這個方法只能呼叫,以回應要求啟動的Visual Studio調試程式套件。 想要在調試程式下啟動另一個進程的元件,應該將自定義事件傳送至Visual Studio套件。 從套件中,可以透過 IVsDebugger.LaunchDebugTargets API 要求啟動。 |
LaunchDebuggedProcess(DkmWorkList, DkmCompletionRoutine<DkmLaunchProcessAsyncResult>) |
讓偵錯監視器在調試程式下建立新的進程。 程序應該暫停,直到呼叫 ResumeDebuggedProcess 為止。 偵錯監視器必須在建立 DkmProcess 物件之前等候 ResumeDebuggedProcess,因為它需要 AD7 Layer 的 UniqueProcessId 值。 請注意,這個方法只能呼叫,以回應要求啟動的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 可用來繼續從 CreateProcess 啟動的進程,並將 LaunchSuspended 旗標設定為 true。 |
ResumeProcess(DkmProcess) |
此 API 可用來繼續從 CreateProcess 啟動的進程,並將 LaunchSuspended 旗標設定為 true。 此 API 是在 Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3) 引進。 |
SetDataItem<T>(DkmDataCreationDisposition, T) |
將新專案放在數據容器中。 (繼承來源 DkmDataContainer) |
明確介面實作
IDisposable.Dispose() |
即將加入。 |