이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문
Visual Studio 2017을 사용하는 것이 좋습니다.

IVsDataProviderDynamicSupport 인터페이스

지원 DDEX 공급자, 지원 되는 원본 및 현재 환경에 따라 특정 작업을 변경할 수가 있습니다.

네임스페이스:  Microsoft.VisualStudio.Data.Core
어셈블리:  Microsoft.VisualStudio.Data.Core(Microsoft.VisualStudio.Data.Core.dll)

public interface IVsDataProviderDynamicSupport

IVsDataProviderDynamicSupport 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 속성IsProviderSupported공급자는 현재 환경에서 지원 되는지 여부를 나타내는 값을 가져옵니다.
위쪽

  이름설명
Public 메서드GetUnsupportedReason이유는, 지정한 DDEX 데이터 원본에 대해 지원 되지 않는 작업을 설명 하는 지역화 된 문자열을 가져옵니다.
Public 메서드IsOperationSupported작업별 DDEX 지정한 데이터 원본에 대 한 현재 환경에서 지원 되는지 여부를 결정 합니다.
Public 메서드IsSourceSupportedDDEX 특정 데이터 원본이 DDEX 공급자는 현재 환경에서 지원 되는지 여부를 나타내는 값을 가져옵니다.
위쪽

Visual Studio 로컬 레지스트리 하이브에 특정 레지스트리 키를 추가 하 여 그 존재를 특정 설치의 Visual Studio DDEX 공급자를 등록 합니다. 정상적인 상황에서는이 등록 공급자가 존재 하 고 Visual Studio 인스턴스를 사용할 수 있어야 표시입니다. 그러나 상황에 따라서는 DDEX 공급자 동적 환경에서 지원 해야 하는 경우 또는 특정 데이터 원본 또는 특정 작업을 지원 하는지 여부를 확인할 수 있도록 하는 데 필요한입니다. 특정 구성 요소를 사용 하거나 DDEX 공급자가 대상, 예를 들어, DDEX 공급자를 디자인 타임에 나타내는 런타임 ADO.NET 공급자가 설치 되지 않은 경우이 경우 수 있습니다.

이 지원 엔터티 DDEX 공급자를 환경, 데이터 원본을 지원할 수 있는 특정 작업을 허용에서 사용할 수 있는 경우 선택할 수 있습니다. 데이터 원본 및/또는 데이터 공급자 열거 및 반환 여부는 처음 두 가지 옵션에 영향을 줄의 IVsDataProviderManagerIVsDataSourceManager 서비스를 각각. 세 번째 선택 항목의 동작에 영향을 미치는 IsOperationSupportedGetUnsupportedReason 방법.

다음 코드는 DDEX 공급자가 지원 엔터티 특정 레지스트리 키의 존재 여부에 따라 디자인 타임에 가능 여부를 동적으로 변경 하는 특정 논리를 구현 하는 방법을 보여 줍니다.

using System;
using System.ComponentModel.Design;
using Microsoft.Win32;
using Microsoft.VisualStudio.Data.Core;

internal class MyProviderDynamicSupport : IVsDataProviderDynamicSupport
{
    public bool IsProviderSupported
    {
        get
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey(
                @"SOFTWARE\Company\AdoDotNetProvider");
            if (key == null)
            {
                return false;
            }
            key.Close();
            return true;
        }
    }

    public bool IsSourceSupported(Guid source)
    {
        return true;
    }

    public bool IsOperationSupported(
        Guid source, CommandID command, object context)
    {
        return true;
    }

    public string GetUnsupportedReason(
        Guid source, CommandID command, object context)
    {
        return null;
    }
}
표시: