Aracılığıyla paylaş


Marshal.GetDelegateForFunctionPointer Yöntem

Tanım

Aşırı Yüklemeler

GetDelegateForFunctionPointer(IntPtr, Type)
Geçersiz.

Yönetilmeyen işlev işaretçisini temsilciye dönüştürür.

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Yönetilmeyen işlev işaretçisini belirtilen türde bir temsilciye dönüştürür.

GetDelegateForFunctionPointer(IntPtr, Type)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.cs

Dikkat

GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521

Yönetilmeyen işlev işaretçisini temsilciye dönüştürür.

public:
 static Delegate ^ GetDelegateForFunctionPointer(IntPtr ptr, Type ^ t);
[System.Obsolete("GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521")]
[System.Security.SecurityCritical]
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
[System.Security.SecurityCritical]
public static Delegate GetDelegateForFunctionPointer (IntPtr ptr, Type t);
[<System.Obsolete("GetDelegateForFunctionPointer(IntPtr, Type) may be unavailable in future releases. Instead, use GetDelegateForFunctionPointer<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296521")>]
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint * Type -> Delegate
Public Shared Function GetDelegateForFunctionPointer (ptr As IntPtr, t As Type) As Delegate

Parametreler

ptr
IntPtr

nativeint

Dönüştürülecek yönetilmeyen işlev işaretçisi.

t
Type

Döndürülecek temsilcinin türü.

Döndürülenler

Uygun temsilci türüne atanabilecek bir temsilci örneği.

Öznitelikler

Özel durumlar

t Parametre bir temsilci değil veya genel.

ptr parametresidirnull.

-veya-

t parametresidirnull.

Açıklamalar

Temsilcileri her iki yönde de sıralamak için ve GetFunctionPointerForDelegate yöntemlerini kullanabilirsinizGetDelegateForFunctionPointer. ile GetDelegateForFunctionPointer, ptr olarak System.IntPtriçeri aktarılır. System.IntPtr Bir yönetilen temsilci için çağrılarak GetFunctionPointerForDelegate ve parametre olarak geçirilerek elde edilebilir; daha sonra yönetilmeyen yöntemin içinden çağrılabilir. Parametre sıralayıcısının .NET Framework 2.0 ve sonraki sürümlerdeki temsilcilere işlev işaretçilerini de sıralayabileceğinizi unutmayın.

ptr , varsayılan platform çağırma kuralını kullanarak yönetilmeyen yöntemi çağıran bir temsilciye dönüştürülür. temsilciye uygulayarak UnmanagedFunctionPointerAttribute çağırma kuralını ayarlayabilirsiniz.

GetDelegateForFunctionPointer yöntemi aşağıdaki kısıtlamalara sahiptir:

  • Genel öğeler birlikte çalışma senaryolarında desteklenmez.

  • Bu yöntemi yalnızca saf yönetilmeyen işlev işaretçileri için kullanabilirsiniz.

  • C++ aracılığıyla alınan işlev işaretçileriyle bu yöntemi kullanamazsınız.

Şunlara uygulanır

GetDelegateForFunctionPointer<TDelegate>(IntPtr)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.cs

Yönetilmeyen işlev işaretçisini belirtilen türde bir temsilciye dönüştürür.

public:
generic <typename TDelegate>
 static TDelegate GetDelegateForFunctionPointer(IntPtr ptr);
[System.Security.SecurityCritical]
public static TDelegate GetDelegateForFunctionPointer<TDelegate> (IntPtr ptr);
public static TDelegate GetDelegateForFunctionPointer<TDelegate> (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member GetDelegateForFunctionPointer : nativeint -> 'Delegate
static member GetDelegateForFunctionPointer : nativeint -> 'Delegate
Public Shared Function GetDelegateForFunctionPointer(Of TDelegate) (ptr As IntPtr) As TDelegate

Tür Parametreleri

TDelegate

Döndürülecek temsilcinin türü.

Parametreler

ptr
IntPtr

nativeint

Dönüştürülecek yönetilmeyen işlev işaretçisi.

Döndürülenler

TDelegate

Belirtilen temsilci türünün örneği.

Öznitelikler

Özel durumlar

Genel TDelegate parametre bir temsilci değildir veya açık bir genel türdür.

ptr parametresidirnull.

Açıklamalar

Temsilcileri her iki yönde de sıralamak için ve GetFunctionPointerForDelegate<TDelegate>(TDelegate) yöntemlerini kullanabilirsinizGetDelegateForFunctionPointer<TDelegate>(IntPtr).

ptr , varsayılan platform çağırma kuralını kullanarak yönetilmeyen yöntemi çağıran bir temsilciye dönüştürülür. temsilciye uygulayarak UnmanagedFunctionPointerAttribute çağırma kuralını ayarlayabilirsiniz.

GetDelegateForFunctionPointer<TDelegate>(IntPtr) yöntemi aşağıdaki kısıtlamalara sahiptir:

  • Genel öğeler birlikte çalışma senaryolarında desteklenmez.

  • Bu yöntemi yalnızca saf yönetilmeyen işlev işaretçileri için kullanabilirsiniz.

  • C++ aracılığıyla alınan işlev işaretçileriyle bu yöntemi kullanamazsınız.

Şunlara uygulanır