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 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 Myclass
importiertMyclass
, 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 IUnknown
abgeleitet 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.