Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 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 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
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.