Marshal.GetTypedObjectForIUnknown メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > Marshal.GetTypedObjectForIUnknown メソッドの意味・解説 

Marshal.GetTypedObjectForIUnknown メソッド

COM オブジェクトを表す、指定した型のマネージ オブジェクトを返します。

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Shared Function GetTypedObjectForIUnknown
 ( _
    pUnk As IntPtr, _
    t As Type _
) As Object
Dim pUnk As IntPtr
Dim t As Type
Dim returnValue As Object

returnValue = Marshal.GetTypedObjectForIUnknown(pUnk, t)
public static Object GetTypedObjectForIUnknown
 (
    IntPtr pUnk,
    Type t
)
public:
static Object^ GetTypedObjectForIUnknown (
    IntPtr pUnk, 
    Type^ t
)
public static Object GetTypedObjectForIUnknown
 (
    IntPtr pUnk, 
    Type t
)
public static function GetTypedObjectForIUnknown
 (
    pUnk : IntPtr, 
    t : Type
) : Object

パラメータ

pUnk

アンマネージ オブジェクトの IUnknown インターフェイスへのポインタ。

t

要求されたマネージ クラスの Type。

戻り値
要求されたアンマネージ COM オブジェクトを表す、Type オブジェクトに対応するクラスのインスタンス。

例外例外
例外の種類条件

ArgumentException

t が System.Runtime.InteropServices.ComImportAttribute に属性付けされていません。

解説解説

t パラメータは、COM インポート型または COM インポート型のサブタイプである必要があります。さらに、t は、タイプ ライブラリ インポータ ( Tlbimp.exe ) によってメタデータがインポートされた型である必要があります。この型は、クラスである必要があります。COM のクラスの名前を保持している、関連付けられているコクラス インターフェイスであってはいけません。たとえば、Tlbimp.exe は、Myclass を MyclassClass クラスと Myclass コクラス インターフェイスとしてインポートしたとします。このメソッドでは必ず、MyClass ではなく、MyclassClass を使用してください。インポートされたクラスおよびコクラスのインターフェイスの詳細については、「インポート時の型の変換」を参照してください。

pUnk パラメータのオブジェクトが既に取得されている場合、t は無視され、既存のオブジェクトが返されます。pUnk は IUnknown インターフェイス ポインタを表します。ただし、すべての COM インターフェイスは直接的または間接的に IUnknown から派生しているので、このメソッドには任意の COM インターフェイスを渡すことができます。GetTypedObjectForIUnknown が返すオブジェクトはランタイム呼び出し可能ラッパーです。共通言語ランタイムはこれを他のマネージ オブジェクトと同様に管理します。詳細については、ランタイム呼び出し可能ラッパー のトピックを参照してください。

メモメモ

このメソッドは SecurityAction.LinkDemand を使用して、信頼関係のないコードからの呼び出しを防ぎます。SecurityPermissionAttribute.UnmanagedCode アクセス許可は、直前の呼び出し元にのみ要求されます。信頼性が一部しか確認されていないコードから呼び出すことができるコードの場合、ユーザー入力を検証せずに Marshal クラスに渡すことは避けてください。LinkDemand メンバの使用に関する重要な制約事項については、「Demand と LinkDemand」を参照してください。

.NET Framework のセキュリティ.NET Framework のセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Marshal クラス
Marshal メンバ
System.Runtime.InteropServices 名前空間
ComImportAttribute クラス
その他の技術情報
タイプ ライブラリ インポータ (Tlbimp.exe)



英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「Marshal.GetTypedObjectForIUnknown メソッド」の関連用語

Marshal.GetTypedObjectForIUnknown メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Marshal.GetTypedObjectForIUnknown メソッドのページの著作権

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.

©2026 GRAS Group, Inc.RSS