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);
        }
    }
}

参照

関連項目

Microsoft.VisualStudio.Data.Core 名前空間