Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 方法

定義

回傳一個指定型別的受管理物件,代表一個 COM 物件。

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

參數

pUnk
IntPtr

nativeint

一個指向 IUnknown 未管理物件介面的指標。

t
Type

請求的管理類別類型。

傳回

對應 Type 於該物件的類別實例,代表所請求的非管理 COM 物件。

屬性

例外狀況

t 未被歸因於 ComImportAttribute

-或-

t 是一種Windows 執行階段型。

備註

t參數必須是 COM 匯入型別或 COM 匯入型別的子型別。 此外,必須 t 是由 Tlbimp.exe(類型庫匯入器) 工具匯入的元資料型別。 此類型必須是類別,而非帶有 COM 類別名稱的相關 coclass 介面。 例如,如果 Tlbimp.exe 以一個稱為 MyclassClass 的類別 和 作為一個叫 Myclass的 coclass 介面匯Myclass入,你必須使用 MyclassClass (而非 Myclass),搭配此方法。

若參數已取得 pUnk 物件, t 則忽略該物件,回傳現有物件。 pUnk 代表 一個未知 的介面指標;然而,由於所有 COM 介面皆直接或間接源自 IUnknown,你可以將任何 COM 介面傳入此方法。 回傳 GetTypedObjectForIUnknown 的物件是一個 執行時可呼叫包裝器(RCW),通用語言執行時會像管理其他受管理物件一樣管理此封裝器。

適用於

另請參閱