共用方式為


Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 方法

定義

傳回表示 COM 物件之指定類型的 Managed 物件。

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

Unmanaged 物件的 IUnknown 介面指標。

t
Type

要求之 Managed 類別的類型。

傳回

對應於 Type 物件 (代表要求的 Unmanaged COM 物件) 的類別執行個體。

屬性

例外狀況

t 未以 ComImportAttribute 賦予屬性。

-或-

t 是 Windows 執行時間類型。

備註

參數 t 必須是 COM 匯入類型或 COM 匯入類型的子類型。 此外, t 必須是Tlbimp.exe ( 類型連結庫匯入工具匯 入元數據的類型) 。 此類型必須是類別,而不是具有 COM 類別名稱的相關聯 coclass 介面。 例如,如果 Tlbimp.exe 匯 Myclass 入為稱為 MyclassClass 的類別,並以稱為 Myclass的coclass介面的形式匯入,您必須使用 MyclassClass (不使用 Myclass 此方法) 。 如需匯入類別和 coclass 介面的其他資訊,請參閱 匯入的類型轉換

如果已經為 參數取得 pUnk 物件, t 則會忽略 ,並傳回現有的物件。 pUnk 代表 IUnknown 介面指標;不過,由於所有 COM 介面直接或間接衍生自 IUnknown,因此您可以將任何 COM 介面傳遞至這個方法。 所 GetTypedObjectForIUnknown 傳回的對像是 運行時間可呼叫包裝函式 (RCW) ,Common Language Runtime 會如同任何其他 Managed 物件一樣管理。

適用於

另請參閱