本文整理汇总了C++中Guest::i_setAdditionsInfo2方法的典型用法代码示例。如果您正苦于以下问题:C++ Guest::i_setAdditionsInfo2方法的具体用法?C++ Guest::i_setAdditionsInfo2怎么用?C++ Guest::i_setAdditionsInfo2使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Guest
的用法示例。
在下文中一共展示了Guest::i_setAdditionsInfo2方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: vmmdevUpdateGuestInfo
/**
* Reports Guest Additions API and OS version.
*
* Called whenever the Additions issue a guest version report request or the VM
* is reset.
*
* @param pInterface Pointer to this interface.
* @param guestInfo Pointer to guest information structure.
* @thread The emulation thread.
*/
DECLCALLBACK(void) vmmdevUpdateGuestInfo(PPDMIVMMDEVCONNECTOR pInterface, const VBoxGuestInfo *guestInfo)
{
AssertPtrReturnVoid(guestInfo);
PDRVMAINVMMDEV pDrv = RT_FROM_MEMBER(pInterface, DRVMAINVMMDEV, Connector);
Console *pConsole = pDrv->pVMMDev->getParent();
/* Store that information in IGuest */
Guest* guest = pConsole->i_getGuest();
AssertPtrReturnVoid(guest);
if (guestInfo->interfaceVersion != 0)
{
char version[16];
RTStrPrintf(version, sizeof(version), "%d", guestInfo->interfaceVersion);
guest->i_setAdditionsInfo(Bstr(version), guestInfo->osType);
/*
* Tell the console interface about the event
* so that it can notify its consumers.
*/
pConsole->i_onAdditionsStateChange();
if (guestInfo->interfaceVersion < VMMDEV_VERSION)
pConsole->i_onAdditionsOutdated();
}
else
{
/*
* The guest additions was disabled because of a reset
* or driver unload.
*/
guest->i_setAdditionsInfo(Bstr(), guestInfo->osType); /* Clear interface version + OS type. */
/** @todo Would be better if GuestImpl.cpp did all this in the above method call
* while holding down the. */
guest->i_setAdditionsInfo2(0, "", 0, 0); /* Clear Guest Additions version. */
RTTIMESPEC TimeSpecTS;
RTTimeNow(&TimeSpecTS);
guest->i_setAdditionsStatus(VBoxGuestFacilityType_All, VBoxGuestFacilityStatus_Inactive, 0 /*fFlags*/, &TimeSpecTS);
pConsole->i_onAdditionsStateChange();
}
}
示例2: AssertPtr
/**
* @interface_method_impl{PDMIVMMDEVCONNECTOR,pfnUpdateGuestInfo2}
*/
DECLCALLBACK(void) vmmdevUpdateGuestInfo2(PPDMIVMMDEVCONNECTOR pInterface, uint32_t uFullVersion,
const char *pszName, uint32_t uRevision, uint32_t fFeatures)
{
PDRVMAINVMMDEV pDrv = RT_FROM_MEMBER(pInterface, DRVMAINVMMDEV, Connector);
AssertPtr(pszName);
Assert(uFullVersion);
/* Store that information in IGuest. */
Guest *pGuest = pDrv->pVMMDev->getParent()->i_getGuest();
AssertPtrReturnVoid(pGuest);
/* Just pass it on... */
pGuest->i_setAdditionsInfo2(uFullVersion, pszName, uRevision, fFeatures);
/*
* No need to tell the console interface about the update;
* vmmdevUpdateGuestInfo takes care of that when called as the
* last event in the chain.
*/
}