報告錯誤以及有關失敗和成功的其他資訊

某些 API 呼叫可以以多種方式成功或失敗。API 通常會為成功呼叫和錯誤(例如 CreateMutex ) 返回附加資訊。

if ( CreateMutexW( NULL, TRUE, L"Global\\MyNamedMutex" ) == NULL ) {
    // Failure: get additional information.
    DWORD dwError = GetLastError();
} else {
    // Success: Determine which mutex was returned.
    if ( GetLastError() == ERROR_ALREADY_EXISTS ) {
        // Existing mutex object returned.
    } else {
        // Newly created mutex object returned.
    }
}