Share via


Função GetLastError (errhandlingapi.h)

Recupera o valor do código de último erro do thread de chamada. O código de último erro é mantido por thread. Vários threads não substituem o código de último erro uns dos outros.

Visual Basic: Os aplicativos devem chamar err. LastDllError em vez de GetLastError.

Sintaxe

_Post_equals_last_error_ DWORD GetLastError();

Retornar valor

O valor retornado é o código de último erro do thread de chamada.

A seção Valor retornado da documentação de cada função que define o código de último erro observa as condições sob as quais a função define o código de último erro. A maioria das funções que definem o código de último erro do thread o define quando falham. No entanto, algumas funções também definem o código de último erro quando são bem-sucedidas. Se a função não estiver documentada para definir o código do último erro, o valor retornado por essa função será simplesmente o código de último erro mais recente a ter sido definido; algumas funções definem o código de último erro como 0 com êxito e outras não.

Comentários

As funções executadas pelo thread de chamada definem esse valor chamando a função SetLastError . Você deve chamar a função GetLastError imediatamente quando o valor retornado de uma função indicar que essa chamada retornará dados úteis. Isso ocorre porque algumas funções chamam SetLastError com zero quando são bem-sucedidas, eliminando o código de erro definido pela função com falha mais recente.

Para obter uma cadeia de caracteres de erro para códigos de erro do sistema, use a função FormatMessage . Para obter uma lista completa de códigos de erro fornecidos pelo sistema operacional, consulte Códigos de erro do sistema.

Os códigos de erro retornados por uma função não fazem parte da especificação da API do Windows e podem variar de acordo com o driver de dispositivo ou sistema operacional. Por esse motivo, não é possível fornecer a lista completa de códigos de erro que podem ser retornados por cada função. Também há muitas funções cuja documentação não inclui nem mesmo uma lista parcial de códigos de erro que podem ser retornados.

Os códigos de erro são valores de 32 bits (o bit 31 é o bit mais significativo). O bit 29 é reservado para códigos de erro definidos pelo aplicativo; nenhum código de erro do sistema tem esse conjunto de bits. Se você estiver definindo um código de erro para seu aplicativo, defina esse bit como um. Isso indica que o código de erro foi definido por um aplicativo e garante que o código de erro não entre em conflito com nenhum código de erro definido pelo sistema.

Para converter um erro do sistema em um valor HRESULT , use a macro HRESULT_FROM_WIN32 .

Exemplos

Para obter um exemplo, consulte Recuperando o código de Last-Error.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [aplicativos da área de trabalho | aplicativos UWP]
Servidor mínimo com suporte Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho errhandlingapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções do tratamento de erros

FormatMessage

HRESULT_FROM_WIN32

Código do último erro

SetLastError

SetLastErrorEx

APIs Vertdll disponíveis em enclaves de VBS