VirtualBox

Ignore:
Timestamp:
Apr 13, 2010 8:23:52 AM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
59974
Message:

Guest Control: Update.

File:
1 edited

Legend:

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

    r28218 r28233  
    489489int Service::notifyHost(VBOXHGCMCALLHANDLE callHandle, uint32_t eFunction, uint32_t cParms, VBOXHGCMSVCPARM paParms[])
    490490{
    491     LogFlowFunc (("eFunction=%ld, cParms=%ld, paParms=%p\n",
    492                   eFunction, cParms, paParms));
    493     HOSTCALLBACKDATA HostCallbackData;
    494     HostCallbackData.u32Magic = HOSTCALLBACKMAGIC;
    495 
    496     int rc = mpfnHostCallback (mpvHostData, 0 /*u32Function*/,
    497                            (void *)(&HostCallbackData),
    498                            sizeof(HostCallbackData));
    499     LogFlowFunc (("returning %Rrc\n", rc));
     491    LogFlowFunc(("eFunction=%ld, cParms=%ld, paParms=%p\n",
     492                 eFunction, cParms, paParms));
     493
     494    int rc;
     495    if (   eFunction == GUEST_EXEC_SEND_STATUS
     496        && cParms    == 4)
     497    {
     498        HOSTEXECCALLBACKDATA data;
     499        data.u32Magic = HOSTCALLBACKMAGIC;
     500        paParms[0].getUInt32(&data.pid);
     501        paParms[1].getUInt32(&data.status);
     502        paParms[2].getUInt32(&data.flags);
     503        paParms[4].getPointer(&data.pvData, &data.cbData);
     504
     505        rc = mpfnHostCallback (mpvHostData, 0 /*u32Function*/,
     506                               (void *)(&data),
     507                               sizeof(data));
     508    }   
     509    else
     510        rc = VERR_NOT_SUPPORTED;
     511    LogFlowFunc(("returning %Rrc\n", rc));
    500512    return rc;
    501513}
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