VirtualBox

Changeset 75990 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Dec 5, 2018 7:51:01 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
127211
Message:

VMMDev,HGCM: Added cancellation notification and query helper.

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/hgcmsvc.h

    r75969 r75990  
    7373 * 6.4->6.5 Bacause pfnGetVMMDevSessionId was added pfnLoadState got the version
    7474 *          parameter (VBox 6.0).
    75  * 6.5->7.1 Because pfnNotify was added.
     75 * 6.5->7.1 Because pfnNotify was added (VBox 6.0).
     76 * 7.1->8.1 Because pfnCancelled & pfnIsCallCancelled were added (VBox 6.0).
    7677 */
    77 #define VBOX_HGCM_SVC_VERSION_MAJOR (0x0007)
     78#define VBOX_HGCM_SVC_VERSION_MAJOR (0x0008)
    7879#define VBOX_HGCM_SVC_VERSION_MINOR (0x0001)
    7980#define VBOX_HGCM_SVC_VERSION ((VBOX_HGCM_SVC_VERSION_MAJOR << 16) + VBOX_HGCM_SVC_VERSION_MINOR)
     
    102103     */
    103104    DECLR3CALLBACKMEMBER(bool, pfnIsCallRestored, (VBOXHGCMCALLHANDLE callHandle));
     105
     106    /**
     107     * Check if the @a callHandle is for a cancelled call.
     108     *
     109     * @returns true if cancelled, false if not.
     110     * @param   callHandle      The call we're checking up on.
     111     */
     112    DECLR3CALLBACKMEMBER(bool, pfnIsCallCancelled, (VBOXHGCMCALLHANDLE callHandle));
    104113
    105114    /** Access to STAMR3RegisterV. */
     
    512521    DECLR3CALLBACKMEMBER(void, pfnCall, (void *pvService, VBOXHGCMCALLHANDLE callHandle, uint32_t u32ClientID, void *pvClient,
    513522                                         uint32_t function, uint32_t cParms, VBOXHGCMSVCPARM paParms[], uint64_t tsArrival));
     523    /** Informs the service that a call was cancelled by the guest (optional).
     524     *
     525     * This is called for guest calls, connect requests and disconnect requests.
     526     * There is unfortunately no way of obtaining the call handle for a guest call
     527     * or otherwise identify the request, so that's left to the service to figure
     528     * out using VBOXHGCMSVCHELPERS::pfnIsCallCancelled.  Because this is an
     529     * asynchronous call, the service may have completed the request already.
     530     */
     531    DECLR3CALLBACKMEMBER(void, pfnCancelled, (void *pvService, uint32_t idClient, void *pvClient));
    514532
    515533    /** Host Service entry point meant for privileged features invisible to the guest.
  • trunk/include/VBox/vmm/pdmifs.h

    r75853 r75990  
    20852085
    20862086    /**
     2087     * Checks if @a pCmd was cancelled.
     2088     *
     2089     * @returns true if cancelled, false if not.
     2090     * @param   pInterface          Pointer to this interface.
     2091     * @param   pCmd                The command we're checking on.
     2092     */
     2093    DECLR3CALLBACKMEMBER(bool, pfnIsCmdCancelled,(PPDMIHGCMPORT pInterface, PVBOXHGCMCMD pCmd));
     2094
     2095    /**
    20872096     * Gets the VMMDevRequestHeader::fRequestor value for @a pCmd.
    20882097     *
     
    21042113} PDMIHGCMPORT;
    21052114/** PDMIHGCMPORT interface ID. */
    2106 # define PDMIHGCMPORT_IID                       "c9180235-8102-4642-0aa7-f0422124d9b5"
     2115# define PDMIHGCMPORT_IID                       "28c0a201-68cd-4752-9404-bb42a0c09eb7"
    21072116
    21082117
     
    21582167                                       uint32_t cParms, PVBOXHGCMSVCPARM paParms, uint64_t tsArrival));
    21592168
     2169    /**
     2170     * Notification about the guest cancelling a pending request.
     2171     * @param   pInterface  Pointer to this interface.
     2172     * @param   pCmd        A pointer that identifies the command.
     2173     * @param   idclient    The client id returned by the pfnConnect call.
     2174     */
     2175    DECLR3CALLBACKMEMBER(void, pfnCancelled,(PPDMIHGCMCONNECTOR pInterface, PVBOXHGCMCMD pCmd, uint32_t idClient));
     2176
    21602177} PDMIHGCMCONNECTOR;
    21612178/** PDMIHGCMCONNECTOR interface ID. */
    2162 # define PDMIHGCMCONNECTOR_IID                  "a1104758-c888-4437-8f2a-7bac17865b5c"
     2179# define PDMIHGCMCONNECTOR_IID                  "33cb5c91-6a4a-4ad9-3fec-d1f7d413c4a5"
    21632180
    21642181#endif /* VBOX_WITH_HGCM */
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