UnmanagedCallConvAttribute Clase
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica la convención de llamada necesaria para llamar a los métodos P/Invoke implementados en código no administrado.
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
- Herencia
- Atributos
En los ejemplos siguientes se declara P/Invokes mediante para UnmanagedCallConvAttribute especificar la convención de llamada.
Mediante la convención de cdecl
llamada:
// 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);
Mediante la convención de stdcall
llamada:
// 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);
Cuando este atributo se aplica a un método con donde CallingConventionDllImportAttribute no se establece o se establece Winapien , el entorno de ejecución de .NET usará CallConvs para determinar la convención de llamada de P/Invoke.
Este atributo se omite si se aplica a un método sin DllImportAttribute o con establecido en CallingConvention algo distinto de Winapi.
Unmanaged |
Inicializa una nueva instancia de UnmanagedCallConvAttribute. |
Call |
Opcional. Tipos que indican convenciones de llamada para el destino no administrado. |
Type |
Cuando se implementa en una clase derivada, obtiene un identificador único para este Attribute. (Heredado de Attribute) |
Equals(Object) |
Devuelve un valor que indica si esta instancia es igual que un objeto especificado. (Heredado de Attribute) |
Get |
Devuelve el código hash de esta instancia. (Heredado de Attribute) |
Get |
Obtiene el Type de la instancia actual. (Heredado de Object) |
Is |
Si se reemplaza en una clase derivada, indica si el valor de esta instancia es el valor predeterminado de la clase derivada. (Heredado de Attribute) |
Match(Object) |
Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Heredado de Attribute) |
Memberwise |
Crea una copia superficial del Object actual. (Heredado de Object) |
To |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |
Produto | Versións |
---|---|
.NET | 6, 7, 8, 9, 10 |
Comentarios de .NET
.NET é un proxecto de código aberto. Selecciona unha ligazón para ofrecer comentarios: