UnmanagedCallConvAttribute Sınıf
Ö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.
Yönetilmeyen kodda uygulanan P/Invoke yöntemlerini çağırmak için gereken çağırma kuralını belirtir.
public ref class UnmanagedCallConvAttribute sealed : Attribute
[System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)]
public sealed class UnmanagedCallConvAttribute : Attribute
[<System.AttributeUsage(System.AttributeTargets.Method, AllowMultiple=false, Inherited=false)>]
type UnmanagedCallConvAttribute = class
inherit Attribute
Public NotInheritable Class UnmanagedCallConvAttribute
Inherits Attribute
- Devralma
- Öznitelikler
Aşağıdaki örneklerde, çağrı kuralını belirtmek için kullanarak UnmanagedCallConvAttribute P/Invoke'lar bildirmektedir.
cdecl
Çağırma kuralını kullanarak:
// Target will be invoked using the cdecl calling convention
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvCdecl) })]
[DllImport("NativeLibrary", EntryPoint = "native_function_cdecl")]
internal static extern int NativeFunction(int arg);
// Target will be invoked using the cdecl calling convention and with the GC transition suppressed
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvCdecl), typeof(CallConvSuppressGCTransition) })]
[DllImport("NativeLibrary", EntryPoint = "native_function_cdecl")]
internal static extern int NativeFunction_NoGCTransition(int arg);
stdcall
Çağırma kuralını kullanarak:
// Target will be invoked using the stdcall calling convention
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvStdcall) })]
[DllImport("NativeLibrary", EntryPoint = "native_function_stdcall")]
internal static extern int NativeFunction(int arg);
// Target will be invoked using the stdcall calling convention and with the GC transition suppressed
[UnmanagedCallConv(CallConvs = new Type[] { typeof(CallConvStdcall), typeof(CallConvSuppressGCTransition) })]
[DllImport("NativeLibrary", EntryPoint = "native_function_stdcall")]
internal static extern int NativeFunction_NoGCTransition(int arg);
Bu öznitelik ile bir yönteme DllImportAttribute uygulandığında ve burada CallingConvention ayarlanmadığında veya olarak ayarlanmadığında Winapi, .NET çalışma zamanı P/Invoke'un çağırma kuralını belirlemek için kullanır CallConvs .
veya dışında Winapibir değere ayarlanmış bir yönteme DllImportAttributeCallingConvention uygulandığında bu öznitelik yoksayılır.
Unmanaged |
Yeni UnmanagedCallConvAttribute bir örnek başlatır. |
Call |
İsteğe bağlı. Yönetilmeyen hedef için çağrı kurallarını gösteren türler. |
Type |
Türetilmiş bir sınıfta uygulandığında, bu Attributeiçin benzersiz bir tanımlayıcı alır. (Devralındığı yer: Attribute) |
Equals(Object) |
Bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değeri döndürür. (Devralındığı yer: Attribute) |
Get |
Bu örneğe ilişkin karma kodu döndürür. (Devralındığı yer: Attribute) |
Get |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
Is |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin değerinin türetilmiş sınıf için varsayılan değer olup olmadığını gösterir. (Devralındığı yer: Attribute) |
Match(Object) |
Türetilmiş bir sınıfta geçersiz kılındığında, bu örneğin belirtilen bir nesneye eşit olup olmadığını gösteren bir değer döndürür. (Devralındığı yer: Attribute) |
Memberwise |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
To |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |
Ürün | Sürümler |
---|---|
.NET | 6, 7, 8, 9, 10 |
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: