IVsDataProviderManager インターフェイス
登録された DDEX プロバイダーの探索を許可する DDEX プロバイダーのマネージャー サービスを公開します。
名前空間: 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 です。
プロバイダーがレジストリ ベースの場合:
- CodeBase のレジストリの値であり、ファイル システムの既存のファイルをポイントします。
プロバイダーがパッケージ ベースの場合:
FactoryService のレジストリの値は、有効な GUID である。
FactoryService のレジストリ値によって識別されるサービスを提供するパッケージは登録されます。
ようにプロバイダーを利用できる Visual Studio の restrict の一部のエディション注意してください。 たとえば、Express Edition では、Microsoft DDEX プロバイダーの小さなサブセットのみを許可します。 これらの制限があり目的で、エディションによって許可されているプロバイダーの他に、追加される可能性があるエントリをオーバーライドします。 特定の DDEX プロバイダーは、現在の環境で IVsDataProviderDynamicSupport のサポートのエンティティのことを実行でサポートされるかどうかを動的に決定される場合があります。 プロバイダーが Edition または現在の環境でサポートされていない考えられれば、このサービスによっては返されません。
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);
}
}
}