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

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

Marshal.GetComInterfaceForObject メソッド

オブジェクト指定したインターフェイスを表すインターフェイス ポインタ返します

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

Public Shared Function GetComInterfaceForObject
 ( _
    o As Object, _
    T As Type _
) As IntPtr
Dim o As Object
Dim T As Type
Dim returnValue As IntPtr

returnValue = Marshal.GetComInterfaceForObject(o, T)
public static IntPtr GetComInterfaceForObject
 (
    Object o,
    Type T
)
public:
static IntPtr GetComInterfaceForObject (
    Object^ o, 
    Type^ T
)
public static IntPtr GetComInterfaceForObject
 (
    Object o, 
    Type T
)
public static function GetComInterfaceForObject
 (
    o : Object, 
    T : Type
) : IntPtr

パラメータ

o

インターフェイス提供するオブジェクト

T

要求されるインターフェイスType

戻り値
オブジェクトインターフェイスを表すインターフェイス ポインタ

例外例外
例外種類条件

ArgumentException

T パラメータインターフェイスではありません。

または

型が COM から参照できません。

または

T パラメータジェネリック型です。

InvalidCastException

o パラメータ要求されインターフェイスサポートしていません。

ArgumentNullException

o パラメータnull 参照 (Visual Basic では Nothing) です。

または

T パラメータnull 参照 (Visual Basic では Nothing) です。

解説解説

このメソッドは、指定したオブジェクトに対して要求したインターフェイスを表すインターフェイス ポインタ返します。このメソッドは、インターフェイス ポインタを渡す必要があるアンマネージ メソッドがある場合に特に役立ちます。このメソッドオブジェクト呼び出すと、ポインタ返される前にインターフェイス ポインタ参照カウントインクリメントされますポインタ使用終わったときは、必ず Marshal.Release を使用して参照カウントデクリメントしてください。生の COM インターフェイス ポインタ使用するときは、COM定め規則に従ってください

IntPtr 型として、またはカスタム マーシャリングCOM オブジェクトパラメータ公開するメソッド呼び出すときは、GetComInterfaceForObject使用できます一般的ではありませんが、オブジェクトCOM 呼び出し可能ラッパーへのポインタ取得するためにマネージ オブジェクトでこのメソッド使用することもできます。たとえば、COMエクスポートされたマネージ オブジェクトGetComInterfaceForObject使用すると、System.Runtime.InteropServices.UCOMIConnectionPointContainer のインターフェイス ポインタ取得できますクラス ポインタでは、2 番目のパラメータ (t) に渡すための対応する型がないため、クラス インターフェイスへのポインタ取得することはできません。この場合は、代わりに、Marshal.GetIDispatchForObject を使用して COM 呼び出し可能ラッパー既定インターフェイスメンバ呼び出します。これは通常、オートディスパッチ クラス インターフェイスです。

ランタイム呼び出し可能ラッパーおよび COM 呼び出し可能ラッパー詳細については、「COM ラッパー」を参照してくださいクラス インターフェイス追加情報については、「クラス インターフェイス概要」を参照してください

メモメモ

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

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


このページでは「.NET Framework クラス ライブラリ リファレンス」からMarshal.GetComInterfaceForObject メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からMarshal.GetComInterfaceForObject メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMarshal.GetComInterfaceForObject メソッド を検索

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

辞書ショートカット

すべての辞書の索引

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

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

   

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



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

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

©2025 GRAS Group, Inc.RSS