Partager via


Marshal.GetIUnknownForObjectInContext(Object) Méthode

Définition

Retourne une interface IUnknown à partir d’un objet managé, si l’appelant est dans le même contexte que cet objet.

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

Paramètres

o
Object

Objet dont l'interface IUnknown est demandée.

Retours

IntPtr

nativeint

Pointeur IUnknown pour l'objet spécifié, ou null si l'appelant n'est pas dans le même contexte que l'objet spécifié.

Attributs

Exemples

L’exemple suivant montre comment récupérer une IUnknown interface pour un objet managé à l’aide de la GetIUnknownForObjectInContext méthode .

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

Remarques

Cette méthode est la même que GetIUnknownForObject si elle est retournée null si l’appelant n’est pas dans le même contexte que l’objet .

S’applique à

Voir aussi