VirtualBox

忽略:
時間撮記:
2012-1-26 下午07:42:19 (13 年 以前)
作者:
vboxsync
訊息:

VMMDev,IGuest,IAdditionsFacility,VBoxGuest,iprt/types.h: VMMDev must track the guest facility reports so they can be saved and restored correctly. Also fixed a reset bug related to guestInfo2. Restrict who can report the status of which facilities. Recalc the runlevel based on which facilities are active. Restrict the number of facilities main tracks.

檔案:
修改 1 筆資料

圖例:

未更動
新增
刪除
  • trunk/src/VBox/Main/src-client/VMMDevInterface.cpp

    r39882 r39890  
    158158
    159159/**
    160  * Reports Guest Additions status.
    161  * Called whenever the Additions issue a guest status report request or the VM is reset.
    162  *
    163  * @param   pInterface          Pointer to this interface.
    164  * @param   guestInfo           Pointer to guest information structure
    165  * @thread  The emulation thread.
    166  */
    167 DECLCALLBACK(void) vmmdevUpdateGuestStatus(PPDMIVMMDEVCONNECTOR pInterface, const VBoxGuestStatus *guestStatus)
    168 {
    169     PDRVMAINVMMDEV pDrv = PDMIVMMDEVCONNECTOR_2_MAINVMMDEV(pInterface);
    170 
    171     Assert(guestStatus);
    172     if (!guestStatus)
    173         return;
    174 
     160 * @interface_method_impl{PDMIVMMDEVCONNECTOR,pfnUpdateGuestStatus}
     161 */
     162DECLCALLBACK(void) vmmdevUpdateGuestStatus(PPDMIVMMDEVCONNECTOR pInterface, uint32_t uFacility, uint16_t uStatus,
     163                                           uint32_t fFlags, PCRTTIMESPEC pTimeSpecTS)
     164{
     165    PDRVMAINVMMDEV pDrv = PDMIVMMDEVCONNECTOR_2_MAINVMMDEV(pInterface);
    175166    Console *pConsole = pDrv->pVMMDev->getParent();
    176167
     
    181172        return;
    182173
    183     guest->setAdditionsStatus(guestStatus->facility, guestStatus->status, guestStatus->flags);
     174    guest->setAdditionsStatus((VBoxGuestFacilityType)uFacility, (VBoxGuestFacilityStatus)uStatus, fFlags, pTimeSpecTS);
    184175    pConsole->onAdditionsStateChange();
    185176}
     
    237228         *        while holding down the. */
    238229        guest->setAdditionsInfo2(0, "", 0,  0); /* Clear Guest Additions version. */
    239         guest->setAdditionsStatus(VBoxGuestFacilityType_All,
    240                                   VBoxGuestFacilityStatus_Inactive,
    241                                   0); /* Flags; not used. */
     230        RTTIMESPEC TimeSpecTS;
     231        RTTimeNow(&TimeSpecTS);
     232        guest->setAdditionsStatus(VBoxGuestFacilityType_All, VBoxGuestFacilityStatus_Inactive, 0 /*fFlags*/, &TimeSpecTS);
    242233        pConsole->onAdditionsStateChange();
    243234    }
注意: 瀏覽 TracChangeset 來幫助您使用更動檢視器

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