Marshal.GetTypedObjectForIUnknown(IntPtr, Type) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回表示 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
必須是 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 物件一樣管理。