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

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

Marshal.GetObjectForIUnknown メソッド

COM オブジェクトIUnknown インターフェイスへのポインタによって表す型のインスタンス返します

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

Public Shared Function GetObjectForIUnknown
 ( _
    pUnk As IntPtr _
) As Object
Dim pUnk As IntPtr
Dim returnValue As Object

returnValue = Marshal.GetObjectForIUnknown(pUnk)
public static Object GetObjectForIUnknown (
    IntPtr pUnk
)
public:
static Object^ GetObjectForIUnknown (
    IntPtr pUnk
)
public static Object GetObjectForIUnknown (
    IntPtr pUnk
)
public static function GetObjectForIUnknown
 (
    pUnk : IntPtr
) : Object

パラメータ

pUnk

IUnknown インターフェイスへのポインタ

戻り値
指定したアンマネージ COM オブジェクトを表すオブジェクト

解説解説

このメソッドは、IUnknownマネージ オブジェクトラップます。これにより、COM コンポーネント参照カウントインクリメントされますCOM オブジェクトを表すマネージ オブジェクト対すガベージ コレクションランタイムによって実行されると、参照カウントデクリメントされます

1 番目のパラメータ (pUnk) は、IUnknown インターフェイス ポインタ表します。ただし、COMインターフェイスはすべて直接的または間接的に IUnknown から派生しているので、このメソッドには任意の COM インターフェイスを渡すことができますGetObjectForIUnknown返すオブジェクトランタイム呼び出し可能ラッパーです。共通言語ランタイムはこれを他のマネージ オブジェクト同様に管理します。このラッパーの型は汎用の System.__ComObject 型となることもよくあります。これは、ラッパーの型があいまいな場合使用される隠し型です。COM オブジェクトIDispatch インターフェイス実装している限りは、このようなジェネリック型遅延バインディング呼び出すこともできます同様に返されオブジェクト適切な COM インターフェイスキャストできます詳細については、ランタイム呼び出し可能ラッパートピック参照してください

汎用的ラッパーではなく特定のマネージ クラス型ラップするオブジェクト使用する場合は、次の要件に従う必要があります

なお、Marshal.GetTypedObjectForIUnknown メソッド使用すれば、これらの要件回避しながら、特定のマネージ クラス型ラップされたオブジェクト取得することができます

メモメモ

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

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
Marshal クラス
Marshal メンバ
System.Runtime.InteropServices 名前空間
AddRef
Release
GetTypedObjectForIUnknown



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

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

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

   

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



Marshal.GetObjectForIUnknown メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS