VirtualBox

Changeset 30758 in vbox for trunk/src/VBox/Devices/VMMDev


Ignore:
Timestamp:
Jul 9, 2010 12:30:12 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
63541
Message:

More fine grained Guest Additions status; now marks Additions as active when VBoxService was started successfully.

Location:
trunk/src/VBox/Devices/VMMDev
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/VMMDev/VMMDev.cpp

    r30724 r30758  
    472472        case VMMDevReq_ReportGuestInfo:
    473473        {
    474             if (pRequestHeader->size < sizeof(VMMDevReportGuestInfo))
     474            if (pRequestHeader->size != sizeof(VMMDevReportGuestInfo))
    475475            {
    476476                AssertMsgFailed(("VMMDev guest information structure has an invalid size!\n"));
     
    492492                            pThis->guestInfo.additionsVersion,
    493493                            pThis->guestInfo.osType));
    494                     pThis->pDrv->pfnUpdateGuestVersion(pThis->pDrv, &pThis->guestInfo);
     494                    pThis->pDrv->pfnUpdateGuestInfo(pThis->pDrv, &pThis->guestInfo);
    495495                }
    496496
     
    509509        case VMMDevReq_ReportGuestInfo2:
    510510        {
    511             if (pRequestHeader->size < sizeof(VMMDevReportGuestInfo2))
     511            if (pRequestHeader->size != sizeof(VMMDevReportGuestInfo2))
    512512            {
    513513                AssertMsgFailed(("VMMDev guest information 2 structure has an invalid size!\n"));
     
    520520                        guestInfo2->additionsMajor, guestInfo2->additionsMinor, guestInfo2->additionsBuild,
    521521                        guestInfo2->additionsRevision, sizeof(guestInfo2->szName), guestInfo2->szName));
     522                pRequestHeader->rc = VINF_SUCCESS;
     523            }
     524            break;
     525        }
     526
     527        case VMMDevReq_ReportGuestStatus:
     528        {
     529            if (pRequestHeader->size != sizeof(VMMDevReportGuestStatus))
     530            {
     531                AssertMsgFailed(("VMMDev guest status structure has an invalid size!\n"));
     532                pRequestHeader->rc = VERR_INVALID_PARAMETER;
     533            }
     534            else
     535            {
     536                VBoxGuestStatus *guestStatus = &((VMMDevReportGuestStatus*)pRequestHeader)->guestStatus;
     537                pThis->pDrv->pfnUpdateGuestStatus(pThis->pDrv, guestStatus);
     538
    522539                pRequestHeader->rc = VINF_SUCCESS;
    523540            }
     
    25892606                pThis->guestInfo.osType));
    25902607        if (pThis->pDrv)
    2591             pThis->pDrv->pfnUpdateGuestVersion(pThis->pDrv, &pThis->guestInfo);
     2608            pThis->pDrv->pfnUpdateGuestInfo(pThis->pDrv, &pThis->guestInfo);
    25922609    }
    25932610    if (pThis->pDrv)
     
    27262743     */
    27272744    if (fVersionChanged)
    2728         pThis->pDrv->pfnUpdateGuestVersion(pThis->pDrv, &pThis->guestInfo);
     2745        pThis->pDrv->pfnUpdateGuestInfo(pThis->pDrv, &pThis->guestInfo);
    27292746    if (fCapsChanged)
    27302747        pThis->pDrv->pfnUpdateGuestCapabilities(pThis->pDrv, pThis->guestCaps);
  • trunk/src/VBox/Devices/VMMDev/VMMDevState.h

    r30724 r30758  
    127127    VBoxGuestInfo guestInfo;
    128128
    129     /** Information reported by guest via VMMDevReportGuestCapabilities
    130      */
     129    /** Information reported by guest via VMMDevReportGuestCapabilities. */
    131130    uint32_t      guestCaps;
    132131
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