VirtualBox

Changeset 68986 in vbox for trunk/include/VBox/vmm


Ignore:
Timestamp:
Oct 4, 2017 2:37:38 PM (7 years ago)
Author:
vboxsync
Message:

VMM: Add new QueryGenericObject entry to VMM2USER callback table, for querying API objects by UUID.
PDM: Add new QueryGenericUserObject entry to trusted DevHlp callback table, for querying API objects by UUID from PDM devices.
Main/Session+Console+Machine+Snapshot: Implement this callback and provide the console and snapshot objects this way.

Location:
trunk/include/VBox/vmm
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmdev.h

    r68594 r68986  
    18781878
    18791879/** Current PDMDEVHLPR3 version number. */
    1880 #define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE_PP(0xffe7, 21, 0)
     1880#define PDM_DEVHLPR3_VERSION                    PDM_VERSION_MAKE_PP(0xffe7, 22, 0)
    18811881
    18821882/**
     
    34813481    DECLR3CALLBACKMEMBER(PSUPDRVSESSION, pfnGetSupDrvSession,(PPDMDEVINS pDevIns));
    34823482
     3483    /**
     3484     * Queries a generic object from the VMM user.
     3485     *
     3486     * @returns Pointer to the object if found, NULL if not.
     3487     * @param   pDevIns             The device instance.
     3488     * @param   pUuid               The UUID of what's being queried.  The UUIDs and
     3489     *                              the usage conventions are defined by the user.
     3490     *
     3491     * @note    It is strictly forbidden to call this internally in VBox!  This
     3492     *          interface is exclusively for hacks in externally developed devices.
     3493     */
     3494    DECLR3CALLBACKMEMBER(void *, pfnQueryGenericUserObject,(PPDMDEVINS pDevIns, PCRTUUID pUuid));
     3495
    34833496    /** @} */
    34843497
     
    53595372}
    53605373
     5374/**
     5375 * @copydoc PDMDEVHLPR3::pfnQueryGenericUserObject
     5376 */
     5377DECLINLINE(void *) PDMDevHlpQueryGenericUserObject(PPDMDEVINS pDevIns, PCRTUUID pUuid)
     5378{
     5379    return pDevIns->pHlpR3->pfnQueryGenericUserObject(pDevIns, pUuid);
     5380}
     5381
    53615382#endif /* IN_RING3 */
    53625383#ifdef IN_RING0
  • trunk/include/VBox/vmm/vmm.h

    r68011 r68986  
    237237    DECLR3CALLBACKMEMBER(void, pfnNotifyResetTurnedIntoPowerOff,(PCVMM2USERMETHODS pThis, PUVM pUVM));
    238238
     239    /**
     240     * Generic object query by UUID.
     241     *
     242     * @returns pointer to queried the object on success, NULL if not found.
     243     *
     244     * @param   pThis       Pointer to the callback method table.
     245     * @param   pUVM        The user mode VM handle.
     246     * @param   pUuid       The UUID of what's being queried.  The UUIDs and the
     247     *                      usage conventions are defined by the user.
     248     *
     249     * @remarks This is optional and shall be set to NULL if not wanted.
     250     */
     251    DECLR3CALLBACKMEMBER(void *, pfnQueryGenericObject,(PCVMM2USERMETHODS pThis, PUVM pUVM, PCRTUUID pUuid));
     252
    239253    /** Magic value (VMM2USERMETHODS_MAGIC) marking the end of the structure. */
    240254    uint32_t    u32EndMagic;
     
    244258#define VMM2USERMETHODS_MAGIC         UINT32_C(0x18830703)
    245259/** The VMM2USERMETHODS structure version. */
    246 #define VMM2USERMETHODS_VERSION       UINT32_C(0x00020001)
     260#define VMM2USERMETHODS_VERSION       UINT32_C(0x00030000)
    247261
    248262
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