Freigeben über


Marshal.GetTypedObjectForIUnknown(IntPtr, Type) Methode

Definition

Gibt ein verwaltetes Objekt eines angegebenen Typs zurück, das ein COM-Objekt darstellt.

public:
 static System::Object ^ GetTypedObjectForIUnknown(IntPtr pUnk, Type ^ t);
[System.Runtime.Versioning.SupportedOSPlatform("windows")]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
[System.Security.SecurityCritical]
public static object GetTypedObjectForIUnknown(IntPtr pUnk, Type t);
[<System.Runtime.Versioning.SupportedOSPlatform("windows")>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
[<System.Security.SecurityCritical>]
static member GetTypedObjectForIUnknown : nativeint * Type -> obj
Public Shared Function GetTypedObjectForIUnknown (pUnk As IntPtr, t As Type) As Object

Parameter

pUnk
IntPtr

nativeint

Ein Zeiger auf die IUnknown Schnittstelle des nicht verwalteten Objekts.

t
Type

Der Typ der angeforderten verwalteten Klasse.

Gibt zurück

Eine Instanz der Klasse, die dem Type Objekt entspricht, das das angeforderte nicht verwaltete COM-Objekt darstellt.

Attribute

Ausnahmen

t wird nicht zugeschrieben ComImportAttribute.

- oder -

t ist ein Windows-Runtime Typ.

Hinweise

Der t Parameter muss entweder ein COM-importierter Typ oder ein Untertyp eines COM-importierten Typs sein. Darüber hinaus muss es sich um einen Typ handeln, t dessen Metadaten vom ToolTlbimp.exe (Type Library Importer) importiert wurden. Dieser Typ muss eine Klasse und keine zugeordnete Coclass-Schnittstelle sein, die den Namen der COM-Klasse trägt. Wenn z. B. Tlbimp.exe Importe Myclass als Klasse aufgerufen MyclassClass und als Coclass-Schnittstelle aufgerufen Myclasswird, müssen Sie diese Methode verwenden MyclassClass (nicht Myclass).

Wenn bereits ein Objekt für den pUnk Parameter abgerufen wurde, t wird ignoriert, und das vorhandene Objekt wird zurückgegeben. pUnk stellt einen IUnknown-Schnittstellenzeiger dar; Da jedoch alle COM-Schnittstellen direkt oder indirekt von IUnknowndieser abgeleitet werden, können Sie jede COM-Schnittstelle an diese Methode übergeben. Das von GetTypedObjectForIUnknown diesem Objekt zurückgegebene Objekt ist ein Runtime Callable Wrapper (RCW), der von der Common Language Runtime wie jedes andere verwaltete Objekt verwaltet wird.

Gilt für:

Weitere Informationen