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 ist nicht mit dem Attribut ComImportAttribute versehen.

- oder -

t ist ein Windows-Runtime-Typ.

Hinweise

Der t Parameter muss entweder ein COM-importierter Typ oder ein Untertyp eines VON COM importierten Typs sein. Darüber hinaus muss es sich um einen Typ handeln, t dessen Metadaten vom Tlbimp.exe-Tool (Type Library Importer) importiert wurden. Bei diesem Typ muss es sich um eine Klasse und nicht um eine zugeordnete Coklassenschnittstelle handeln, die den Namen der COM-Klasse trägt. Wenn z. B. Tlbimp.exe als Klasse namens MyclassClass und als Coklassenschnittstelle namens MyclassimportiertMyclass, müssen Sie (nicht Myclass) mit dieser Methode verwenden MyclassClass . Weitere Informationen zu importierten Klassen und Co-Klassenschnittstellen finden Sie unter Importierte Typkonvertierung.

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 IUnknownabgeleitet werden, können Sie jede COM-Schnittstelle an diese Methode übergeben. Das von GetTypedObjectForIUnknown zurückgegebene Objekt ist ein Runtime Callable Wrapper (RCW), den die Common Language Runtime wie jedes andere verwaltete Objekt verwaltet.

Gilt für:

Weitere Informationen