次の方法で共有


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 名前空間