Aracılığıyla paylaş


Marshal.GetIUnknownForObjectInContext(Object) Yöntem

Tanım

Çağıran bu nesneyle aynı bağlamdaysa, yönetilen nesneden bir IUnknown arabirimi döndürür.

public:
 static IntPtr GetIUnknownForObjectInContext(System::Object ^ o);
public static IntPtr GetIUnknownForObjectInContext (object o);
[System.Security.SecurityCritical]
public static IntPtr GetIUnknownForObjectInContext (object o);
static member GetIUnknownForObjectInContext : obj -> nativeint
[<System.Security.SecurityCritical>]
static member GetIUnknownForObjectInContext : obj -> nativeint
Public Shared Function GetIUnknownForObjectInContext (o As Object) As IntPtr

Parametreler

o
Object

Arabirimi istenen nesne IUnknown .

Döndürülenler

IntPtr

nativeint

IUnknown Belirtilen nesnenin işaretçisi veya null çağıran belirtilen nesneyle aynı bağlamda değilse.

Öznitelikler

Örnekler

Aşağıdaki örnek, yöntemini kullanarak yönetilen bir nesne için arabirimin nasıl alınduğunu IUnknownGetIUnknownForObjectInContext gösterir.

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();
    }
}
Imports System.Runtime.InteropServices

Module Program


    Sub Run()

        ' Dim an Integer object
        Dim IntegerObject As Integer = 1

        ' Dim a pointer
        Dim pointer As IntPtr

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

        ' Get the IUnKnown pointer for the Integer object
        pointer = Marshal.GetIUnknownForObjectInContext(IntegerObject)

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

        ' Always call Marshal.Release to decrement the reference count.
        Marshal.Release(pointer)



    End Sub

    Sub Main(ByVal args() As String)

        Run()

    End Sub

End Module

Açıklamalar

Bu yöntem, çağıranın nesneyle aynı bağlamda olmaması durumunda döndürmesi null dışında ile aynıdırGetIUnknownForObject.

Şunlara uygulanır

Ayrıca bkz.