Bagikan melalui


Marshal.GetIUnknownForObjectInContext(Object) Metode

Definisi

Mengembalikan antarmuka IUnknown dari objek terkelola, jika pemanggil berada dalam konteks yang sama dengan objek tersebut.

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

Parameter

o
Object

Objek yang antarmukanya IUnknown diminta.

Mengembalikan

IntPtr

nativeint

Penunjuk IUnknown untuk objek yang ditentukan, atau null jika pemanggil tidak dalam konteks yang sama dengan objek yang ditentukan.

Atribut

Contoh

Contoh berikut menunjukkan cara mengambil IUnknown antarmuka untuk objek terkelola menggunakan GetIUnknownForObjectInContext metode .

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

Keterangan

Metode ini sama dengan GetIUnknownForObject kecuali bahwa ia mengembalikan null jika pemanggil tidak dalam konteks yang sama dengan objek .

Berlaku untuk

Lihat juga