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

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

Marshal.GetDelegateForFunctionPointer メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

アンマネージ関数ポインタデリゲート変換します

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

Public Shared Function GetDelegateForFunctionPointer
 ( _
    ptr As IntPtr, _
    t As Type _
) As Delegate
Dim ptr As IntPtr
Dim t As Type
Dim returnValue As Delegate

returnValue = Marshal.GetDelegateForFunctionPointer(ptr, t)
public static Delegate GetDelegateForFunctionPointer
 (
    IntPtr ptr,
    Type t
)
public:
static Delegate^ GetDelegateForFunctionPointer (
    IntPtr ptr, 
    Type^ t
)
public static Delegate GetDelegateForFunctionPointer
 (
    IntPtr ptr, 
    Type t
)
public static function GetDelegateForFunctionPointer
 (
    ptr : IntPtr, 
    t : Type
) : Delegate

パラメータ

ptr

変換されるアンマネージ関数ポインタである System.IntPtr 型。

t

返されるデリゲートの型。

戻り値
適切なデリゲート型キャストできるデリゲート インスタンス

例外例外
例外種類条件

ArgumentException

t パラメータデリゲートではありません。

ArgumentNullException

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

または

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

解説解説

.NET Framework Version 1.0 および 1.1 では、マネージ メソッドを表すデリゲート関数ポインタとしてアンマネージ コードに渡すことができたため、アンマネージ コード関数ポインタからマネージ メソッド呼び出すことができましたまた、アンマネージ コードは、その関数ポインタマネージ コードに渡すことができ、ポインタは基になるマネージ メソッド適切に解決されました。

この新しメソッド GetDelegateForFunctionPointer と、もう 1 つ新しメソッド GetFunctionPointerForDelegate を使用することによって、デリゲート双方向マーシャリングできるようになりましたGetDelegateForFunctionPointer では、ptrIntPtr としてインポートされますGetFunctionPointerForDelegate呼び出すことによって、マネージ デリゲートに対して IntPtr取得しパラメータとして渡した後、アンマネージ メソッド内部から呼び出すことができますVersion 2.0 では、パラメータ マーシャラは関数ポインタデリゲートマーシャリングすることもできます

メモメモ

GetDelegateForFunctionPointer無効な関数ポインタを渡すことはできません。また、このメソッド使用できるのは、純粋なアンマネージ関数ポインタに対してだけです。C++ または GetFunctionPointer から取得した関数ポインタでこのメソッド使用することはできません。このメソッド使用して関数ポインタから別のマネージ デリゲートへのデリゲート作成することはできません。

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照


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

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

辞書ショートカット

すべての辞書の索引

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

   

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



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

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

©2025 GRAS Group, Inc.RSS