报告错误以及有关失败和成功的其他信息

某些 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.
    }
}