Compartir a través de


Campo DllImportAttribute.SetLastError

 

Publicado: octubre de 2016

Indica si el destinatario llama el SetLastError función de la API de Win32 antes de volver del método con atributos.

Espacio de nombres:   System.Runtime.InteropServices
Ensamblado:  mscorlib (en mscorlib.dll)

Sintaxis

public bool SetLastError
public:
bool SetLastError
val mutable SetLastError : bool
Public SetLastError As Boolean

Valor de campo

Type: System.Boolean

Comentarios

true para indicar que el destinatario llamará SetLastError; en caso contrario, false. De manera predeterminada, es false.

Las llamadas de contador de referencias en tiempo de ejecución GetLastError y almacena en caché el valor devuelto para evitar que se sobrescriban por otras llamadas de API. Puede recuperar el código de error llamando a GetLastWin32Error.

Ejemplos

En algunos casos, los desarrolladores de Visual Basic utilizar la DllImportAttribute, en lugar de utilizar el Declare instrucción, para definir una función DLL en código administrado. Establecer el SetLastError campo es uno de estos casos.

public class Win32
{
    [DllImport("user32.dll", SetLastError=true)]
    public static extern int MessageBoxA(IntPtr hWnd, String text,
                                String caption, uint type);
}
Public Class Win32
    <DllImport("user32.dll", SetLastError := true)> _
    Public Shared Function MessageBoxA(hWnd As IntPtr, text As String, _
               caption As String, type As UInteger) As Integer
    End Function
End Class
[DllImport("user32.dll", SetLastError=true)]
int MessageBoxA(IntPtr hWnd, String^ Text,
                String^ Caption, unsigned int Type);

Información de versión

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1

Ver también

GetLastWin32Error
Clase DllImportAttribute
Espacio de nombres System.Runtime.InteropServices

Volver al principio