Marshal.GetFunctionPointerForDelegate Метод
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
GetFunctionPointerForDelegate(Delegate) |
Устаревшие..
Преобразует делегат в указатель на функцию, вызываемый из неуправляемого кода. |
GetFunctionPointerForDelegate<TDelegate>(TDelegate) |
Преобразует делегат указанного типа в указатель на функцию, вызываемый из неуправляемого кода. |
- Исходный код:
- 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 к делегату.
Сборщик мусора должен вручную не собирать делегат из управляемого кода. Сборщик мусора не отслеживает ссылки на неуправляемый код.
Применяется к
.NET 9 и другие версии
Продукт | Версии (Устарело) |
---|---|
.NET | Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 (Core 1.0) |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 2.0, 2.1 (1.2, 1.3, 1.4, 1.5, 1.6) |
UWP | (10.0) |
- Исходный код:
- 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 к делегату.
Сборщик мусора должен вручную не собирать делегат из управляемого кода. Сборщик мусора не отслеживает ссылки на неуправляемый код.
Применяется к
.NET 9 и другие версии
Продукт | Версии |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1 |
UWP | 10.0 |