Marshal.GetFunctionPointerForDelegate Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Перегрузки
GetFunctionPointerForDelegate(Delegate) |
Устаревшие..
Преобразует делегат в указатель на функцию, вызываемый из неуправляемого кода. |
GetFunctionPointerForDelegate<TDelegate>(TDelegate) |
Преобразует делегат указанного типа в указатель на функцию, вызываемый из неуправляемого кода. |
GetFunctionPointerForDelegate(Delegate)
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
Внимание!
GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522
Преобразует делегат в указатель на функцию, вызываемый из неуправляемого кода.
public:
static IntPtr GetFunctionPointerForDelegate(Delegate ^ d);
[System.Obsolete("GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522")]
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate (Delegate d);
public static IntPtr GetFunctionPointerForDelegate (Delegate d);
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate (Delegate d);
[<System.Obsolete("GetFunctionPointerForDelegate(Delegate) may be unavailable in future releases. Instead, use GetFunctionPointerForDelegate<T>(T). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296522")>]
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : Delegate -> nativeint
static member GetFunctionPointerForDelegate : Delegate -> nativeint
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : Delegate -> nativeint
Public Shared Function GetFunctionPointerForDelegate (d As Delegate) As IntPtr
Параметры
- d
- Delegate
Делегат, передаваемый в неуправляемый код.
Возвращаемое значение
nativeint
Значение, которое можно передать в неуправляемый код, который, в свою очередь, может использовать его для вызова базового управляемого делегата.
- Атрибуты
Исключения
Параметр d
является определением универсального типа.
Параметр d
имеет значение null
.
Комментарии
Делегат d
преобразуется в указатель функции, который можно передать в неуправляемый код с помощью соглашения о вызовах платформы по умолчанию. Соглашение о вызовах можно задать, применив UnmanagedFunctionPointerAttribute к делегату.
Сборщик мусора должен вручную не собирать делегат из управляемого кода. Сборщик мусора не отслеживает ссылки на неуправляемый код.
Применяется к
GetFunctionPointerForDelegate<TDelegate>(TDelegate)
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
- Исходный код:
- Marshal.cs
Преобразует делегат указанного типа в указатель на функцию, вызываемый из неуправляемого кода.
public:
generic <typename TDelegate>
static IntPtr GetFunctionPointerForDelegate(TDelegate d);
[System.Security.SecurityCritical]
public static IntPtr GetFunctionPointerForDelegate<TDelegate> (TDelegate d);
public static IntPtr GetFunctionPointerForDelegate<TDelegate> (TDelegate d);
[<System.Security.SecurityCritical>]
static member GetFunctionPointerForDelegate : 'Delegate -> nativeint
static member GetFunctionPointerForDelegate : 'Delegate -> nativeint
Public Shared Function GetFunctionPointerForDelegate(Of TDelegate) (d As TDelegate) As IntPtr
Параметры типа
- TDelegate
Тип преобразуемого делегата.
Параметры
- d
- TDelegate
Делегат, передаваемый в неуправляемый код.
Возвращаемое значение
nativeint
Значение, которое можно передать в неуправляемый код, который, в свою очередь, может использовать его для вызова базового управляемого делегата.
- Атрибуты
Исключения
Параметр d
является определением универсального типа.
Параметр d
имеет значение null
.
Комментарии
Делегат d
преобразуется в указатель функции, который можно передать в неуправляемый код с помощью соглашения о вызовах платформы по умолчанию. Соглашение о вызовах можно задать, применив UnmanagedFunctionPointerAttribute к делегату.
Сборщик мусора должен вручную не собирать делегат из управляемого кода. Сборщик мусора не отслеживает ссылки на неуправляемый код.