Marshal.GetIUnknownForObjectInContext(Object) メソッド

定義

呼び出し元がマネージド オブジェクトと同じコンテキストに存在する場合に、そのマネージド オブジェクトから IUnknown インターフェイスを返します。

C#
public static IntPtr GetIUnknownForObjectInContext(object o);
C#
[System.Security.SecurityCritical]
public static IntPtr GetIUnknownForObjectInContext(object o);

パラメーター

o
Object

要求される IUnknown インターフェイスを持つオブジェクト。

戻り値

IntPtr

指定したオブジェクトの IUnknown ポインター。呼び出し元が指定したオブジェクトと同じコンテキストに存在しない場合は null

属性

次の例では、 メソッドを IUnknown 使用してマネージド オブジェクトのインターフェイスを取得する方法を GetIUnknownForObjectInContext 示します。

C#
using System;
using System.Runtime.InteropServices;

class Program
{

    static void Run()
    {

        // Create an int object
        int obj = 1;

        Console.WriteLine("Calling Marshal.GetIUnknownForObjectInContext...");

        // Get the IUnKnown pointer for the Integer object
        IntPtr pointer = Marshal.GetIUnknownForObjectInContext(obj);

        Console.WriteLine("Calling Marshal.Release...");

        // Always call Marshal.Release to decrement the reference count.
        Marshal.Release(pointer);
    }

    static void Main(string[] args)
    {
        Run();
    }
}

注釈

呼び出し元が オブジェクトと GetIUnknownForObject 同じコンテキストにない場合に を返 null す点を除き、このメソッドは と同じです。

適用対象

製品 バージョン
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

こちらもご覧ください