次の方法で共有


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 例外をスローします。

[!メモ]

マクロを記録し、T-SQL デバッグ エンジンを使用してデバッグ プロセスにアタッチすると、そのマクロは同じエンジン名に対して 2 つの個別の参照を返します。たとえば、dbgeng(0) = transprt.Engines.Item("T-SQL") や dbgeng(1) = transprt.Engines.Item("T-SQL") などです。これは、実際には 2 つの基底の T-SQL デバッグ エンジン (一方は SQL Server 2005 デバッグ エンジン用で、他方は SQL Server 2000 と SQL Server 7 の T-SQL デバッグ エンジン用) が Visual Studio に存在するためです。いずれも、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 名前空間