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 공급자의 사전을 가져옵니다. |
위쪽
설명
Visual Studio 로컬 레지스트리 하이브에 특정 레지스트리 키를 추가 하 여 특정 설치의 Visual Studio 있는지 DDEX 공급자를 등록 합니다.DDEX 공급자 관리자 서비스는 이러한 공급자를 열거 하 고 호출자에 게 등록 된 공급자의 목록을 제공 합니다.또한 각 공급자가 제대로 등록 되어 있는지 확인 하기 위해 추가 작업을 수행 합니다.등록 되지 않은 공급자에 대 한 정보는 Windows 이벤트 로그에 기록 됩니다 및 공급자가 호출자에 게 반환 되지 않습니다.등록 특성은이 서비스에서 확인 됩니다.
DataProviders 키 아래에 레지스트리 키 공급자의 유효한 GUID ({xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}) 대괄호로 묶이고 하이픈으로 구분 된 32 자리 숫자의 구성입니다.
공급자의 기술 레지스트리 값을 지정 하는 경우 유효한 GUID입니다.
레지스트리 기반 공급자 인 경우
- 파일 시스템에서 기존 파일을 가리키는 CodeBase 레지스트리 값이 존재 하며
공급자 패키지를 기반으로 하는 경우:
FactoryService 레지스트리 값이 있고 유효한 GUID입니다.
FactoryService 레지스트리 값에 의해 식별 되는 서비스를 제공 하는 패키지를 등록 합니다.
참고 특정 버전의 Visual Studio 공급자를 사용할 수 있는 제한 하는 것입니다.예를 들어, Express 버전 Microsoft DDEX 공급자의 작은 하위 집합만을 허용 합니다.이러한 제한은 비즈니스 목적 이며 버전에서 사용할 수 있는 공급자 외에 추가 된 모든 항목을 재정의 합니다.현재 환경에서 구현 하 여 지원 되는지 여부는 주어진된 DDEX 공급자 결정 수 동적으로 IVsDataProviderDynamicSupport 엔터티를 지원 합니다.공급자 버전 또는 현재 환경에서 지원 되지 않는 것으로 판단 되는 경우이 서비스에 의해 반환 됩니다.
DDEX 공급자 관리자 서비스 환경에 등록 하 고 있으므로 글로벌 서비스 공급자 개체에서 서비스를 요청 하 여 액세스할 수 있는 전역 Visual Studio 서비스가입니다.
예제
다음 코드는 클라이언트 수 DDEX 공급자 관리자 서비스에서 글로벌 Visual Studio 서비스 공급자 검색 방법과 환경에서 등록 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);
}
}
}