Marshal.GetIUnknownForObjectInContext(Object) Methode

Definitie

Retourneert een IUnknown-interface van een beheerd object als de aanroeper zich in dezelfde context bevindt als dat object.

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

Parameters

o
Object

Het object waarvan IUnknown de interface is aangevraagd.

Retouren

IntPtr

nativeint

De IUnknown aanwijzer voor het opgegeven object of null als de aanroeper zich niet in dezelfde context bevindt als het opgegeven object.

Kenmerken

Voorbeelden

In het volgende voorbeeld ziet u hoe u een IUnknown interface voor een beheerd object ophaalt met behulp van de GetIUnknownForObjectInContext methode.

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

Opmerkingen

Deze methode is hetzelfde als GetIUnknownForObject behalve dat deze wordt geretourneerd null als de aanroeper zich niet in dezelfde context bevindt als het object.

Van toepassing op

Zie ook