Marshal.GetIUnknownForObjectInContext(Object) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt eine IUnknown-Schnittstelle aus einem verwalteten Objekt zurück, wenn sich der Aufrufer im gleichen Kontext wie dieses Objekt befindet.
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
Das Objekt, dessen IUnknown
-Schnittstelle angefordert wird.
Gibt zurück
nativeint
Der IUnknown
-Zeiger für das angegebene Objekt oder null
, falls sich der Aufrufer nicht in demselben Kontext wie das angegebene Objekt befindet.
- Attribute
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie eine IUnknown
Schnittstelle für ein verwaltetes Objekt mithilfe der GetIUnknownForObjectInContext -Methode abgerufen wird.
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
Hinweise
Diese Methode ist identisch mit GetIUnknownForObject der Ausnahme, dass sie zurückgibt null
, wenn sich der Aufrufer nicht im selben Kontext wie das -Objekt befindet.