Compartilhar via


Campo DllImportAttribute.SetLastError

 

Dica

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Indica se o computador chamado chama a SetLastError função da API do Win32 antes de retornar do método atribuído.

Namespace:   System.Runtime.InteropServices
Assembly:  mscorlib (em mscorlib.dll)

Sintaxe

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

Valor do Campo

Type: System.Boolean

Comentários

truepara indicar que o receptor chamará SetLastError; caso contrário, false. O padrão é false.

As chamadas de empacotador de tempo de execução GetLastError e armazena o valor retornado para impedir que ele seja substituído por outras chamadas de API. Você pode recuperar o código de erro chamando GetLastWin32Error.

Exemplos

Em alguns casos, os desenvolvedores do Visual Basic usam o DllImportAttribute, em vez de usar o Declare instrução, para definir uma função de DLL no código gerenciado. Definindo o SetLastError campo é um dos 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);

Informações de Versão

Plataforma Universal do Windows
Disponível desde 8
.NET Framework
Disponível desde 1.1
Biblioteca de Classes Portátil
Com suporte no: plataformas portáteis do .NET
Silverlight
Disponível desde 2.0
Windows Phone Silverlight
Disponível desde 7.0
Windows Phone
Disponível desde 8.1

Confira Também

GetLastWin32Error
Classe DllImportAttribute
Namespace System.Runtime.InteropServices

Retornar ao início