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
매개 변수
- index
형식: System.Object
반환 값
형식: 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 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용을 참조하십시오.