VirtualBox

Changeset 46404 in vbox for trunk


Ignore:
Timestamp:
Jun 6, 2013 11:59:11 AM (12 years ago)
Author:
vboxsync
Message:

Forward ported r86229, r86230 + r86234 (IPRT/process-win.cpp: If there's an unresolved native error, we want to know it via release logging. Shouldn't happen by default of course. Handle ERROR_ACCOUNT_DISABLED. VERR_AUTHENTICATION_FAILURE -> VERR_ACCOUNT_RESTRICTED).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/r3/win/process-win.cpp

    r43879 r46404  
    55
    66/*
    7  * Copyright (C) 2006-2012 Oracle Corporation
     7 * Copyright (C) 2006-2013 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    5151#include <iprt/initterm.h>
    5252#include <iprt/ldr.h>
     53#include <iprt/log.h>
    5354#include <iprt/mem.h>
    5455#include <iprt/once.h>
     
    294295        case ERROR_ACCOUNT_RESTRICTION: /* See: http://support.microsoft.com/kb/303846/ */
    295296        case ERROR_PASSWORD_RESTRICTION:
    296             rc = VERR_AUTHENTICATION_FAILURE;
     297        case ERROR_ACCOUNT_DISABLED:    /* See: http://support.microsoft.com/kb/263936 */
     298            rc = VERR_ACCOUNT_RESTRICTED;
    297299            break;
    298300
     
    602604                          phToken);
    603605    if (!fRc)
    604         return rtProcWinMapErrorCodes(GetLastError());
     606    {
     607        DWORD dwErr = GetLastError();
     608        int rc = rtProcWinMapErrorCodes(dwErr);
     609        if (rc == VERR_UNRESOLVED_ERROR)
     610            LogRelFunc(("dwErr=%u (%#x), rc=%Rrc\n", dwErr, dwErr, rc));
     611        return rc;
     612    }
    605613    return VINF_SUCCESS;
    606614}
     
    951959    if (   RT_SUCCESS(rc)
    952960        && dwErr != NO_ERROR)
     961    {
    953962        rc = rtProcWinMapErrorCodes(dwErr);
     963        if (rc == VERR_UNRESOLVED_ERROR)
     964            LogRelFunc(("dwErr=%u (%#x), rc=%Rrc\n", dwErr, dwErr, rc));
     965    }
    954966    return rc;
    955967}
     
    9921004                                                      pProcInfo);
    9931005                if (!fRc)
    994                     rc = rtProcWinMapErrorCodes(GetLastError());
     1006                {
     1007                    DWORD dwErr = GetLastError();
     1008                    rc = rtProcWinMapErrorCodes(dwErr);
     1009                    if (rc == VERR_UNRESOLVED_ERROR)
     1010                        LogRelFunc(("pfnCreateProcessWithLogonW (%p) failed: dwErr=%u (%#x), rc=%Rrc\n",
     1011                                    pfnCreateProcessWithLogonW, dwErr, dwErr, rc));
     1012                }
    9951013                rtProcWinDestroyEnv(pwszzBlock);
    9961014            }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette