IVsDataProviderManager 介面
公開 DDEX 提供者處理常式服務,讓已註冊的 DDEX 提供者的探索 (Discovery)。
命名空間: Microsoft.VisualStudio.Data.Core
組件: Microsoft.VisualStudio.Data.Core (在 Microsoft.VisualStudio.Data.Core.dll 中)
語法
'宣告
<GuidAttribute("F8B01F14-9F78-4506-80A8-3534837AF0D4")> _
Public Interface IVsDataProviderManager
[GuidAttribute("F8B01F14-9F78-4506-80A8-3534837AF0D4")]
public interface IVsDataProviderManager
[GuidAttribute(L"F8B01F14-9F78-4506-80A8-3534837AF0D4")]
public interface class IVsDataProviderManager
[<GuidAttribute("F8B01F14-9F78-4506-80A8-3534837AF0D4")>]
type IVsDataProviderManager = interface end
public interface IVsDataProviderManager
IVsDataProviderManager 類型會公開下列成員。
屬性
名稱 | 描述 | |
---|---|---|
![]() |
Providers | 取得所有已註冊的 DDEX 提供者字典。 |
回頁首
備註
DDEX 提供者將 Visual Studio 區域登錄區中特定的登錄機碼註冊其特定的 Visual Studio 安裝的存在。 DDEX 提供者處理常式供應列舉這些提供者並提供登錄的提供者清單提供給呼叫端。 它也會執行額外的工作會確保每個提供者正確登錄。 如需未正確註冊提供者的資訊登入 Windows 事件記錄檔和提供者不會傳回給呼叫端。 下列登錄特性由此服務驗證:
在 DataProviders 機碼的提供者的登錄機碼是由 32 個數字的有效的 GUID 分隔連字號,放在方括弧 ({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}模式的)。
提供者的技術登錄值,則為,如果指定,是有效的 GUID。
如果提供者註冊根據:
- 程式碼基底登錄值存在,且其指向在檔案系統中的現有文件。
如果提供者套件根據:
FactoryService 登錄值存在而且是有效的 GUID。
提供 FactoryService 登錄值所決定的服務的封裝註冊。
請注意 Visual Studio 的某些版本限制哪些提供者可供使用。 例如,明確允許編輯 Microsoft DDEX 提供者的小型子集。 這些限制為在商業用途並覆寫可能已加入刪除那些提供者以外所允許編輯的所有項目。 指定 DDEX 提供者可動態地決定他們是否支援在目前環境下藉由實作 IVsDataProviderDynamicSupport 支援實體。 如果提供者是由這個編輯或目前環境視窗所支援,而不是由這個服務會傳回。
DDEX 提供者處理常式服務是在環境中註冊,而且可以透過要求服務以存取從全域服務提供者物件的全域 Visual Studio 服務。
範例
下列程式碼示範用戶端如何從全域 Visual Studio 服務提供者擷取 DDEX 提供者處理常式服務和列舉一組在環境中註冊的 DDEX 提供者。
using System;
using System.Diagnostics;
using Microsoft.VisualStudio.Data.Core;
public class DDEX_IVsDataProviderExample1
{
public static void EnumerateProviders(IServiceProvider serviceProvider)
{
IVsDataProviderManager providerManager =
serviceProvider.GetService(typeof(IVsDataProviderManager))
as IVsDataProviderManager;
foreach (IVsDataProvider provider in providerManager.Providers.Values)
{
Trace.WriteLine(provider.Name);
}
}
}