VirtualBox

Changeset 106963 in vbox for trunk


Ignore:
Timestamp:
Nov 12, 2024 2:58:12 PM (6 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
165893
Message:

Windows driver installation/VBoxDrvInst: Refuse to run on <= NT4. Logging adjustments. bugref:10762

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/installation/VBoxDrvInst.cpp

    r106961 r106963  
    238238 *
    239239 * @returns VBox status code.
    240  * @param
     240 * @param   pszPrefix           Logging prefix to use. Can be NULL.
    241241 * @param   pszFormat           Format string to log.
    242242 * @param   args                va_list to use.
    243243 */
    244 DECLINLINE(void) vboxDrvInstLogExV(const char *pszFormat, va_list args)
     244DECLINLINE(void) vboxDrvInstLogExV(const char *pszPrefix, const char *pszFormat, va_list args)
    245245{
    246246    char *psz = NULL;
     
    248248    AssertPtrReturnVoid(psz);
    249249
    250     LogRel(("%s", psz));
     250    if (pszPrefix)
     251        LogRel(("%s: %s", pszPrefix, psz));
     252    else
     253        LogRel(("%s", psz));
    251254
    252255    RTStrFree(psz);
     
    263266    va_list args;
    264267    va_start(args, pszFormat);
    265     vboxDrvInstLogExV(pszFormat, args);
     268    vboxDrvInstLogExV("*** Error", pszFormat, args);
    266269    va_end(args);
    267270}
     
    277280    va_list args;
    278281    va_start(args, pszFormat);
    279     vboxDrvInstLogExV(pszFormat, args);
     282    vboxDrvInstLogExV(NULL, pszFormat, args);
    280283    va_end(args);
    281284}
     
    294297    {
    295298        case VBOXWINDRIVERLOGTYPE_ERROR:
    296             vboxDrvInstLogError("*** Error: %s\n", pszMsg);
     299            vboxDrvInstLogError("%s\n", pszMsg);
    297300            break;
    298301
     
    838841    }
    839842
     843    /* Refuse to run on too old Windows versions (<= NT4). */
     844    uint64_t const uNtVer = RTSystemGetNtVersion();
     845    if (RTSYSTEM_NT_VERSION_GET_MAJOR(uNtVer) <= 4)
     846    {
     847        vboxDrvInstLogError("Windows version (%d.%d.%d) too old and not supported\n", RTSYSTEM_NT_VERSION_GET_MAJOR(uNtVer),
     848                                                                                      RTSYSTEM_NT_VERSION_GET_MINOR(uNtVer),
     849                                                                                      RTSYSTEM_NT_VERSION_GET_BUILD(uNtVer));
     850        return VERR_NOT_SUPPORTED;
     851    }
     852
    840853    return VINF_SUCCESS;
    841854}
     
    903916                        rc = vboxDrvInstInit();
    904917                        if (RT_FAILURE(rc))
    905                             return  RTEXITCODE_FAILURE;
     918                            return RTEXITCODE_FAILURE;
    906919
    907920                        /* Count the combined option definitions:  */
     
    951964    rc = vboxDrvInstInit();
    952965    if (RT_FAILURE(rc))
    953         return  RTEXITCODE_FAILURE;
     966        return RTEXITCODE_FAILURE;
    954967    RTEXITCODE rcExit = vboxDrvInstCmdListMain(&GetState);
    955968    vboxDrvInstDestroy();
Note: See TracChangeset for help on using the changeset viewer.

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