Share via


DkmTransportConnection 類別

定義

這代表監視器與 IDE 之間的連線。 如果監視器在與 IDE 相同的進程中執行,則它可以是本機連線,也可以是遠端連線。 在監視程式中,只有一個連線。

衍生類別:DkmStandardRemoteTransportConnection

public ref class DkmTransportConnection : Microsoft::VisualStudio::Debugger::DkmDataContainer
[System.Runtime.InteropServices.Guid("37f756b6-9ea0-4c02-3f0a-99fb3a0f7a77")]
public class DkmTransportConnection : Microsoft.VisualStudio.Debugger.DkmDataContainer
[<System.Runtime.InteropServices.Guid("37f756b6-9ea0-4c02-3f0a-99fb3a0f7a77")>]
type DkmTransportConnection = class
    inherit DkmDataContainer
Public Class DkmTransportConnection
Inherits DkmDataContainer
繼承
DkmTransportConnection
繼承
DkmTransportConnection
衍生
屬性

屬性

DebuggerCpuArchitecture

監視端調試程式元件的架構。 這是具有元件層級 < 100,000 的調試程式元件。

此 API 是在 Visual Studio 17 RTM (DkmApiVersion.VS17RTM) 中引進。

Flags

指出基礎連線特性的旗標。

IsUnloaded

如果已針對這個對象引發 'unloaded' 事件,則傳回 true (範例:DkmThread::Unload 會呼叫) 或物件已關閉。 請注意,檢查此狀態時必須小心,而不進行同步處理,傳回的狀態在讀取之後可能無法再精確指示。

(繼承來源 DkmDataContainer)
Kind

指出用來偵錯的傳輸類型。

ProtocolVersion

Visual Studio 與目標計算機之間所使用的通訊協定版本。 這是 Visual Studio 瞭解的通訊協定版本下限,以及遠端調試程式瞭解的通訊協定版本。

此 API 是在 Visual Studio 11 Update 1 (DkmApiVersion.VS11FeaturePack1) 中引進。

Qualifier

[選擇性]指出連接目的地的字串。 本機連線將會是 Null。 針對預設遠端偵錯,這是我們嘗試連線的計算機名稱和埠號碼。

UniqueId

可唯一識別此連線的 Guid。 本機聯機將使用值 『DkmTransportKind.Local』。 將會隨機產生其他連線的值。

方法

ActivateAppPackage(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

啟動指定的封裝應用程式。 如果應用程式尚未啟動,這會導致應用程式啟動,如果應用程式已在執行中,則會將其恢復為使用中應用程式。 在調試程式下啟動時,會在此 API 之前呼叫 IDkmProcessLaunchNotifyListener.StartListener。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

ActivateAppPackageExtended(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, DkmActivateAppPackageFlags, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

啟動指定的封裝應用程式。 如果應用程式尚未啟動,這會導致應用程式啟動,如果應用程式已在執行中,則會將其恢復為使用中應用程式。 在調試程式下啟動時,會在此 API 之前呼叫 IDkmProcessLaunchNotifyListener.StartListener。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

此 API 是在 Visual Studio 14 Update 1 (DkmApiVersion.VS14Update1) 引進。

ActivateAppPackageOnTargetMonitor(DkmWorkList, DkmPackagedAppPlatform, String, Boolean, UInt32, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

在指定的監視器上啟動封裝的應用程式。 如果應用程式尚未啟動,這會導致應用程式啟動,如果應用程式已在執行中,則會將其恢復為使用中應用程式。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 引進。

ActivateAppPackageWithStartupTask(DkmWorkList, String, Boolean, DkmCompletionRoutine<DkmActivateAppPackageAsyncResult>)

啟動指定的封裝應用程式。 如果應用程式尚未啟動,這會導致應用程式啟動,如果應用程式已在執行中,則會將其恢復為使用中應用程式。 在調試程式下啟動時,會在此 API 之前呼叫 IDkmProcessLaunchNotifyListener.StartListener。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引進。

ActivateBackgroundTask(DkmWorkList, DkmAppPackageId, Int32, Guid, DkmCompletionRoutine<DkmActivateBackgroundTaskAsyncResult>)

啟動背景工作。 這可供開發人員用來測試其應用程式的啟動處理程式。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

CreateCoreDumpParserTargetCompositionServices(String, Object)

Create Core 檔案剖析案例的 IDebugServiceManager 實例,可用來存取以目標組合為基礎的延伸模組。 一旦 DkmProcess 可供使用,請呼叫 SetCoreDumpParserTargetCompositionServices,以便正確地快取實例。

位置條件約束:目標組合介面無法在機器之間封送處理,但如果有的話,可以使用。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 引進。

CreateDirectory(String)

在目標電腦上建立目錄。 請注意,部署檔案時會隱含建立目錄。 因此,此 API 不需要用於該案例。

DeleteFile(String)

刪除目標電腦上的檔案。

DeployFile(String, String, Boolean)

將檔案部署至目標計算機。 請注意,這會複製檔案內容和上次寫入時間,但不會複製屬性。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

DownloadFile(DkmWorkList, String, String, Boolean, DkmCompletionRoutine<DkmDownloadFileAsyncResult>)

從目標計算機下載檔案。 請注意,這會複製檔案內容和上次寫入時間,但不會複製屬性。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

DownloadFile(String, String, Boolean)

從目標計算機下載檔案。 請注意,這會複製檔案內容和上次寫入時間,但不會複製屬性。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

EnumerateBackgroundTasks(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmEnumerateBackgroundTasksAsyncResult>)

列舉現有的背景工作。 開發人員會使用此功能來測試其應用程式的列舉處理程式。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

EnumPackages()

列舉已安裝且可啟動 (應用程式套件與應用程式套件) 應用程式套件。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

EnumRunningProcesses(Boolean, DkmRunningProcessInfoPropertyMask)

提供目標計算機上執行的所有進程清單, (包括未) 偵錯的進程。

EnumRunningProcesses(DkmWorkList, Boolean, DkmRunningProcessInfoPropertyMask, DkmCompletionRoutine<DkmEnumRunningProcessesAsyncResult>)

提供目標計算機上執行的所有進程清單, (包括未) 偵錯的進程。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

ExtractFromDeployConnection(IVsDebuggerDeployConnection)

取得支援部署連接的 DkmTransportConnection 物件。 這可用來從調試程式部署 API 到調試程式引擎, (Dkm) API。 例如,這可用來傳送 DkmCustomMessages。

呼叫端仍然必須保留 deployConnection,以避免處置基礎 DkmTransportConnection。 請注意,預設會在停止偵錯期間卸除串連元件。 您可以在元件的 .vsdconfigxml 檔案中設定 'StayLoadedForDeployConnection=“true”' 來覆寫此行為。 如果呼叫端想要擷取部署連線以傳送自定義訊息,而且想要在調試程式會話結束之後這樣做,這非常有用。

ExtractFromPort(IDebugPort2)

會取得支援此埠物件的 DkmTransportConnection 物件。 如果埠目前未連線,且重新連線失敗,這將會在遠端偵錯案例中失敗。 此 API 只會從 Visual Studio 的主線程正確運作。

FindConnection(Guid)

尋找 DkmTransportConnection 物件。 如果沒有具有指定輸入索引鍵的物件存在,FindConnection 將會失敗。

FindLiveProcess(Int32)

在此 DkmTransportConnection 內尋找 DkmProcess 元素。 如果沒有具有指定輸入索引鍵的專案存在,FindLiveProcess 將會失敗。 如果找到物件,它一律會包含 『Live』 元件。

FindProcess(Guid)

在此 DkmTransportConnection 內尋找 DkmProcess 元素。 如果沒有具有指定輸入索引鍵的專案存在,FindProcess 將會失敗。

FindProductionConnection(Guid)

在此 DkmTransportConnection 內尋找 DkmProductionConnection 元素。 如果沒有具有指定輸入索引鍵的專案存在,FindProductionConnection 將會失敗。

此 API 是在 Visual Studio 15 Update 2 (DkmApiVersion.VS15Update2) 中引進。

FindRecordedProcessInfo(String)

在此 DkmTransportConnection 內尋找 DkmRecordedProcessInfo 元素。 如果沒有具有指定輸入索引鍵的專案存在,FindRecordedProcessInfo 將會失敗。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引進。

FindSerializedProcessInfo(String)

在此 DkmTransportConnection 內尋找 DkmSerializedProcessInfo 元素。 如果沒有具有指定輸入索引鍵的專案,FindSerializedProcessInfo 將會失敗。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 引進。

FlushClosedObjectQueue()

此函式用來強制所有物件關閉通知立即與監視程序交換。 如同 『GC。在 Managed 程式代碼中收集『,此函式通常是不必要的,因為系統會自動排清佇列。 不過,如果所有更新都立即交換,則可以使用這個方法。

當元件在指定物件上呼叫 『Close』 時,會建立物件關閉通知 (和排入佇列) 。 監視進程和引擎進程都會維護已關閉物件的佇列。 這個方法只能從引擎進程呼叫,但用來排清這兩個佇列。

位置條件約束:必須從 IDE 元件呼叫 API, (元件層級 > 100,000) 。

GetAppPackageExecutionState(DkmAppPackageId, Int32)

取得 Windows 市集應用程式的執行狀態。 此欄位中的值會在 PACKAGE_EXECUTION_STATE 中指定。

GetClrVersionOfExecutable(String)

提供調試程式預期要載入指定可執行檔之 CLR 的版本字串。 傳回值是以可執行檔的PE標頭內容為基礎, (如果exe是受管理) 、可執行檔的組態檔、CLR環境變數,以及登錄中的載入器原則。 傳回值可能不正確,特別是在原生可執行文件的情況下。

GetConnections()

GetConnections 會列舉所有已建立的 DkmTransportConnection 物件。

GetDataItem<T>()

取得已新增至這個容器實例的 『T』 實例。 如果此容器不包含 『T』,此函式會傳回 null。

(繼承來源 DkmDataContainer)
GetDefaultClrVersion()

傳回在監視程式中載入的 CLR 版本。

GetDNSName()

提供目標計算機所使用的實體 DNS 主機名。

GetFileListing(String, String, Boolean)

取得存在於目標電腦上的檔案和子目錄清單。

GetIsolatedStorageRootForApplication(DkmAppPackageId)

取得指定應用程式之隔離儲存根目錄的完整路徑。

此 API 尚未針對 Windows 市集應用程式實作,但保留供日後使用。

GetLiveProcesses()

GetLiveProcesses 會列舉這個 DkmTransportConnectionobject 的 DkmProcess 元素。 所有物件都包含 『Live』 元件。

GetProcesses()

GetProcesses 會列舉這個 DkmTransportConnection 物件的 DkmProcess 元素。

GetProductionConnections()

GetProductionConnections 會列舉這個 DkmTransportConnection 物件的 DkmProductionConnection 元素。

此 API 是在 Visual Studio 15 Update 2 中引進, (DkmApiVersion.VS15Update2) 。

GetRecordedProcesses()

GetRecordedProcesses 會列舉這個 DkmTransportConnection 物件的 DkmRecordedProcessInfo 元素。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引進。

GetRecordedProcessInfo(String)

取得所記錄檔案的相關信息。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTM) 中引進。

GetRequests()

GetRequests 會列舉這個 DkmTransportConnection 物件的 DkmProcessLaunchRequest 元素。

GetRunningProcessInfo(Int32, Int64, Boolean, DkmRunningProcessInfoPropertyMask)

取得在目標計算機上執行之進程的相關信息。

GetSerializedProcessInfo(String)

取得檔案的相關信息。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 引進。

GetSerializedProcessInformation()

GetSerializedProcessInformation 會列舉這個 DkmTransportConnection 物件的 DkmSerializedProcessInfo 元素。

此 API 是在 Visual Studio 16 Update 8 (DkmApiVersion.VS16Update8) 引進。

GetSystemInformation(Boolean)

提供偵錯監視器執行所在計算機的相關信息。

QueryExecutableArchitecture(String)

取得可執行文件的架構。

此 API 是在 Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview) 中引進。

QueryIsWOW64Executable(String)

已取代。 使用 QueryExecutableArchitecture。 判斷指定的可執行檔是否會在 WOW64 (Windows) 內執行,以在 64 位操作系統上執行 32 位進程。

RemoveAppPackageFromTaskbar(DkmAppPackageId, UInt32)

關閉任務列以移除沈浸式應用程式圖示。

此 API 是在 Visual Studio 12 Update 3 (DkmApiVersion.VS12Update3) 引進。

RemoveDataItem<T>()

從這個容器中移除 『T』 的實例。 通常不需要呼叫這個方法,因為數據容器會在物件關閉時自動清空。

(繼承來源 DkmDataContainer)
RemoveDirectory(String, Boolean)

拿掉目標電腦上的目錄。

ResumeAppPackage(DkmAppPackageId, Int32)

根據指定的應用程式,執行模擬進程存留期管理。 這供開發人員用來測試其應用程式的繼續處理程式。

SetDataItem<T>(DkmDataCreationDisposition, T)

將新專案放在數據容器中。

(繼承來源 DkmDataContainer)
ShutDownAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmShutDownAppPackageAsyncResult>)

使用進程存留期管理服務暫停並關閉指定的應用程式。 使用此功能后再啟動第二個應用程式,開發人員就可以測試其應用程式從暫停狀態重新啟動的能力。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

SuspendAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmSuspendAppPackageAsyncResult>)

根據指定的應用程式執行模擬進程存留期管理暫止。 這可供開發人員用來測試其應用程式的暫停處理程式。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

TakeNonDebugProcessSnapshot(UInt32)

擷取進程的進程快照集。 唯一保留的數據是快照集本身,沒有任何參考回任何父進程。

此 API 是在 Visual Studio 17 Update 6 (DkmApiVersion.VS17Update6) 引進。

TerminateAppPackage(DkmWorkList, DkmAppPackageId, Int32, DkmCompletionRoutine<DkmTerminateAppPackageAsyncResult>)

終止應用程式套件。 用來確保與封裝相關聯的所有進程都已停止。

這個方法會將新的工作專案附加至指定的工作清單,並在附加工作項目之後傳回 。 工作項目的實際處理是異步的。 呼叫端將會透過完成例程收到要求完成的通知。

此 API 是在 Visual Studio 16 Update 9 (DkmApiVersion.VS16Update9) 中引進。

TerminateRunningProcess(Int32, Int64, Int32)

終止在未偵錯的目標計算機上執行的進程。

TriggerPrefetch(String, DkmPackagedAppPlatform)

觸發應用程式內容預先擷取。

此 API 是在 Visual Studio 12 Update 2 (DkmApiVersion.VS12Update2) 引進。

適用於