VirtualBox

Ignore:
Timestamp:
Apr 14, 2010 10:02:30 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
60033
Message:

Guest Control: Update (introducing contexts for callbacks).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostServices/GuestControl/service.cpp

    r28243 r28286  
    244244    int processHostMsg(VBOXHGCMCALLHANDLE callHandle, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    245245    int notifyGuest(GuestCall *pCall, uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    246     int notifyHost(VBOXHGCMCALLHANDLE callHandle, uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
     246    int notifyHost(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    247247    int processCmd(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[]);
    248248    void call(VBOXHGCMCALLHANDLE callHandle, uint32_t u32ClientID,
     
    487487}
    488488
    489 int Service::notifyHost(VBOXHGCMCALLHANDLE callHandle, uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
     489int Service::notifyHost(uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    490490{
    491491    LogFlowFunc(("eFunction=%ld, cParms=%ld, paParms=%p\n",
     
    493493    int rc = VINF_SUCCESS;
    494494    if (   eFunction == GUEST_EXEC_SEND_STATUS
    495         && cParms    == 4)
     495        && cParms    == 5)
    496496    {
    497497        HOSTEXECCALLBACKDATA data;
    498         data.u32Magic = HOSTCALLBACKMAGIC;
    499         paParms[0].getUInt32(&data.pid);
    500         paParms[1].getUInt32(&data.status);
    501         paParms[2].getUInt32(&data.flags);
     498        data.hdr.u32Magic = HOSTEXECCALLBACKDATAMAGIC;
     499        paParms[0].getUInt32(&data.hdr.u32ContextID);
     500
     501        paParms[1].getUInt32(&data.u32PID);
     502        paParms[2].getUInt32(&data.u32Status);
     503        paParms[3].getUInt32(&data.u32Flags);
    502504        paParms[4].getPointer(&data.pvData, &data.cbData);
    503505
     
    576578            case GUEST_EXEC_SEND_STATUS:
    577579                LogFlowFunc(("SEND_STATUS\n"));
    578                 rc = notifyHost(callHandle, eFunction, cParms, paParms);
     580                rc = notifyHost(eFunction, cParms, paParms);
    579581                break;
    580582
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