다음을 통해 공유


Engines.Item 메서드

Engines 컬렉션의 인덱싱된 멤버를 가져옵니다.

네임스페이스:  EnvDTE80
어셈블리:  EnvDTE80(EnvDTE80.dll)

구문

‘선언
Function Item ( _
    index As Object _
) As Engine
Engine Item(
    Object index
)
Engine^ Item(
    [InAttribute] Object^ index
)
abstract Item : 
        index:Object -> Engine 
function Item(
    index : Object
) : Engine

매개 변수

반환 값

형식: EnvDTE80.Engine
Engine 개체입니다.

설명

Index의 값으로는 다음을 사용할 수 있습니다.

  • 엔진의 전체 이름에서 처음 몇 개의 문자를 나타내는 BSTR

  • 엔진의 GUID를 나타내는 BSTR

  • 1부터 시작하는 정수 값

Item 메서드는 컬렉션에서 인덱스 값에 해당하는 개체를 찾지 못하면 ArgumentException 예외를 throw합니다.

참고

매크로를 기록하고 T-SQL 디버깅 엔진을 사용하여 디버깅 프로세스에 연결하면 이 매크로는 동일한 엔진 이름에 대해 서로 다른 두 개의 참조를 반환합니다. 예를 들면 dbgeng(0) = transprt.Engines.Item("T-SQL") 및 dbgeng(1) = transprt.Engines.Item("T-SQL")과 같습니다. 실제로 Visual Studio에는 각각 SQL Server 2005 디버깅 엔진과 SQL Server 2000 및 SQL Server 7의 T-SQL 디버깅 엔진에 대해 하나씩 두 개의 내부 T-SQL 디버깅 엔진이 있기 때문에 이런 문제가 발생합니다. UI를 통해 디버깅 엔진 프로세스에 연결하는 경우 자동으로 두 엔진이 모두 참조되지만 자동화 코드에서는 고유 식별자 GUID를 사용하여 각 엔진을 참조해야 합니다. SQL Server 2005의 GUID는 {1202F5B4-3522-4149-BAD8-58B2079D704F}이고 SQL Server 2000 및 SQL Server 7에 대한 T-SQL 디버깅 엔진의 GUID는 {5AF6F83C-B555-11D1-8418-00C04FA302A1}입니다. 따라서 위의 호출을 각각 dbgeng(0) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}")과 dbgeng(1) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}")으로 변경해야 합니다.

예제

' Macro code.
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualBasic.ControlChars

Public Module Module1

    Sub ShowDefaultEngines()
        Dim dbg As EnvDTE80.Debugger2
        dbg = DTE.Debugger

        dbg.HexDisplayMode = True

        Dim transport As EnvDTE80.Transport
        transport = dbg.Transports.Item("default")

        Dim engine As EnvDTE80.Engine
        Dim strEngineList As String
        For Each engine In transport.Engines
            strEngineList = strEngineList + engine.Name + ", " + _
            engine.ID + ", " + engine.AttachResult.ToString + NewLine
        Next
        MsgBox(strEngineList)
    End Sub
End Module

.NET Framework 보안

  • 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.

참고 항목

참조

Engines 인터페이스

EnvDTE80 네임스페이스