Changeset 50754 in vbox for trunk/src/VBox/HostServices/SharedOpenGL/crserver
- Timestamp:
- Mar 12, 2014 5:43:09 PM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 92767
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedOpenGL/crserver/crservice.cpp
r50394 r50754 962 962 * We differentiate between a function handler for the guest and one for the host. 963 963 */ 964 static DECLCALLBACK(int) svcHostCall(void *, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[])964 static int svcHostCallPerform(void *, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 965 965 { 966 966 int rc = VINF_SUCCESS; … … 980 980 switch (u32Function) 981 981 { 982 case SHCRGL_HOST_FN_CRCMD_NOTIFY_CMDS:983 {984 rc = crVBoxServerCrCmdNotifyCmds();985 } break;986 982 #ifdef VBOX_WITH_CRHGSMI 987 983 case SHCRGL_HOST_FN_CRHGSMI_CMD: … … 1477 1473 } 1478 1474 1475 static DECLCALLBACK(int) svcHostCall (void *, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 1476 { 1477 switch (u32Function) 1478 { 1479 case SHCRGL_HOST_FN_CTL: 1480 { 1481 if (cParms != 1) 1482 { 1483 WARN(("cParams != 1")); 1484 return VERR_INVALID_PARAMETER; 1485 } 1486 1487 if (paParms->type != VBOX_HGCM_SVC_PARM_PTR) 1488 { 1489 WARN(("invalid param type")); 1490 return VERR_INVALID_PARAMETER; 1491 } 1492 1493 if (paParms->u.pointer.size < sizeof (VBOXCRCMDCTL)) 1494 { 1495 WARN(("invalid param size")); 1496 return VERR_INVALID_PARAMETER; 1497 } 1498 1499 if ((paParms->u.pointer.size - sizeof (VBOXCRCMDCTL)) % sizeof(VBOXHGCMSVCPARM)) 1500 { 1501 WARN(("invalid param size")); 1502 return VERR_INVALID_PARAMETER; 1503 } 1504 1505 VBOXCRCMDCTL *pCtl = (VBOXCRCMDCTL*)paParms->u.pointer.addr; 1506 uint32_t cParams = (paParms->u.pointer.size - sizeof (VBOXCRCMDCTL)) / sizeof (VBOXHGCMSVCPARM); 1507 return svcHostCallPerform(NULL, pCtl->u32Function, cParms, (VBOXHGCMSVCPARM*)(pCtl + 1)); 1508 } 1509 case VBOXCRCMDCTL_TYPE_DISABLE: 1510 AssertMsgFailed(("VBOXCRCMDCTL_TYPE_DISABLE\n")); 1511 return VERR_NOT_IMPLEMENTED; 1512 case VBOXCRCMDCTL_TYPE_ENABLE: 1513 AssertMsgFailed(("VBOXCRCMDCTL_TYPE_ENABLE\n")); 1514 return VERR_NOT_IMPLEMENTED; 1515 default: 1516 return svcHostCallPerform(NULL, u32Function, cParms, paParms); 1517 } 1518 1519 } 1520 1479 1521 extern "C" DECLCALLBACK(DECLEXPORT(int)) VBoxHGCMSvcLoad (VBOXHGCMSVCFNTABLE *ptable) 1480 1522 {
Note:
See TracChangeset
for help on using the changeset viewer.