Freigeben über


Marshal.GetIUnknownForObjectInContext-Methode: (Object)

 

Veröffentlicht: Oktober 2016

Gibt eine IUnknown -Schnittstelle aus einem verwalteten Objekt, wenn der Aufrufer in demselben Kontext wie das Objekt befindet.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (in mscorlib.dll)

Syntax

[SecurityCriticalAttribute]
public static IntPtr GetIUnknownForObjectInContext(
    object o
)
public:
[SecurityCriticalAttribute]
static IntPtr GetIUnknownForObjectInContext(
    Object^ o
)
[<SecurityCriticalAttribute>]
static member GetIUnknownForObjectInContext : 
        o:Object -> nativeint
<SecurityCriticalAttribute>
Public Shared Function GetIUnknownForObjectInContext (
    o As Object
) As IntPtr

Parameter

  • o
    Type: System.Object

    Das Objekt, dessen IUnknown-Schnittstelle angefordert wird.

Rückgabewert

Type: System.IntPtr

Der IUnknown-Zeiger für das angegebene Objekt oder null, falls sich der Aufrufer nicht in demselben Kontext wie das angegebene Objekt befindet.

Hinweise

Diese Methode ist identisch mit GetIUnknownForObject außer dass zurückgegeben null wenn der Aufrufer nicht in demselben Kontext wie das Objekt befindet.

Beispiele

Das folgende Beispiel veranschaulicht das Abrufen einer IUnknown Schnittstelle für ein verwaltetes Objekt mit der 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

Sicherheit

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Versionsinformationen

.NET Framework
Verfügbar seit 2.0

Siehe auch

GetIUnknownForObject
Release
GetObjectForIUnknown
Marshal-Klasse
System.Runtime.InteropServices-Namespace

Zurück zum Anfang