Marshal.GetDelegateForFunctionPointer Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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.
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
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.