Last-Error Kodunu Alma

Birçok sistem işlevi başarısız olduğunda, son hata kodunu ayarlar. Uygulamanız bir hata hakkında daha fazla ayrıntıya ihtiyaç duyuyorsa, GetLastError işlevini kullanarak son hata kodunu alabilir ve FormatMessage işlevini kullanarak hatanın açıklamasını alabilir.

Aşağıdaki örnek, hata iletisini yazdıran ve işlemi sonlandıran bir hata işleme işlevi içerir.

#include <windows.h>

void ErrorExit() 
{ 
    // Retrieve the system error message for the last-error code

    LPVOID lpMsgBuf;
    DWORD dw = GetLastError(); 

    if (FormatMessage(
        FORMAT_MESSAGE_ALLOCATE_BUFFER | 
        FORMAT_MESSAGE_FROM_SYSTEM |
        FORMAT_MESSAGE_IGNORE_INSERTS,
        NULL,
        dw,
        MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
        (LPTSTR) &lpMsgBuf,
        0, NULL) == 0) {
        MessageBox(NULL, TEXT("FormatMessage failed"), TEXT("Error"), MB_OK);
        ExitProcess(dw);
    }

    MessageBox(NULL, (LPCTSTR)lpMsgBuf, TEXT("Error"), MB_OK);

    LocalFree(lpMsgBuf);
    ExitProcess(dw); 
}

void main()
{
    // Generate an error

    if (!GetProcessId(NULL))
        ErrorExit();
}