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.ObjectDas 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
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