Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳一個指定型別的受管理物件,代表一個 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參數必須是 COM 匯入型別或 COM 匯入型別的子型別。 此外,必須 t 是由 Tlbimp.exe(類型庫匯入器) 工具匯入的元資料型別。 此類型必須是類別,而非帶有 COM 類別名稱的相關 coclass 介面。 例如,如果 Tlbimp.exe 以一個稱為 MyclassClass 的類別 和 作為一個叫 Myclass的 coclass 介面匯Myclass入,你必須使用 MyclassClass (而非 Myclass),搭配此方法。
若參數已取得 pUnk 物件, t 則忽略該物件,回傳現有物件。
pUnk 代表 一個未知 的介面指標;然而,由於所有 COM 介面皆直接或間接源自 IUnknown,你可以將任何 COM 介面傳入此方法。 回傳 GetTypedObjectForIUnknown 的物件是一個 執行時可呼叫包裝器(RCW),通用語言執行時會像管理其他受管理物件一樣管理此封裝器。