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。

  • 如果提供程序注册表基于:

    • 基本注册表项值存在,并且它指向在文件系统的现有文件。
  • 如果提供程序根据包:

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

请参见

参考

Microsoft.VisualStudio.Data.Core 命名空间