Changeset 103630 in vbox
- Timestamp:
- Mar 1, 2024 10:44:58 AM (9 months ago)
- Location:
- trunk/src/VBox/HostServices/SharedClipboard
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-internal.h
r100655 r103630 465 465 * @{ 466 466 */ 467 int shClSvcTransferHandler(PSHCLCLIENT pClient, VBOXHGCMCALLHANDLE callHandle, uint32_t u32Function, 468 uint32_t cParms, VBOXHGCMSVCPARM paParms[], uint64_t tsArrival); 469 int shClSvcTransferHostHandler(uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[]); 467 int ShClSvcTransferMsgClientHandler(PSHCLCLIENT pClient, VBOXHGCMCALLHANDLE callHandle, uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[], uint64_t tsArrival); 468 int ShClSvcTransferMsgHostHandler(uint32_t u32Function, uint32_t cParms, VBOXHGCMSVCPARM paParms[]); 470 469 /** @} */ 471 470 … … 473 472 * @{ 474 473 */ 475 DECLCALLBACK(int) shClSvcTransferIfaceGHRootListRead(PSHCLTXPROVIDERCTX pCtx); 476 DECLCALLBACK(int) shClSvcTransferIfaceGHListOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLLISTOPENPARMS pOpenParms, PSHCLLISTHANDLE phList); 477 DECLCALLBACK(int) shClSvcTransferIfaceGHListClose(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList); 478 DECLCALLBACK(int) shClSvcTransferIfaceGHListHdrRead(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr); 479 DECLCALLBACK(int) shClSvcTransferIfaceGHListEntryRead(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTENTRY pListEntry); 480 DECLCALLBACK(int) shClSvcTransferIfaceGHObjOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLOBJOPENCREATEPARMS pCreateParms, PSHCLOBJHANDLE phObj); 481 DECLCALLBACK(int) shClSvcTransferIfaceGHObjClose(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj); 482 DECLCALLBACK(int) shClSvcTransferIfaceGHObjRead(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead); 483 /** @} */ 484 485 /** @name Shared Clipboard transfer interface implementations for host -> guest transfers. 486 * @{ 487 */ 488 DECLCALLBACK(int) shClSvcTransferIfaceHGListHdrWrite(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr); 489 DECLCALLBACK(int) shClSvcTransferIfaceHGListEntryWrite(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTENTRY pListEntry); 490 DECLCALLBACK(int) shClSvcTransferIfaceHGObjWrite(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbWritten); 491 /** @} */ 492 493 /** @name Shared Clipboard transfer callbacks for the host service. 494 * @{ 495 */ 496 DECLCALLBACK(void) VBoxSvcClipboardTransferPrepareCallback(PSHCLTXPROVIDERCTX pCtx); 497 DECLCALLBACK(void) VBoxSvcClipboardDataHeaderCompleteCallback(PSHCLTXPROVIDERCTX pCtx); 498 DECLCALLBACK(void) VBoxSvcClipboardDataCompleteCallback(PSHCLTXPROVIDERCTX pCtx); 499 DECLCALLBACK(void) VBoxSvcClipboardTransferCompleteCallback(PSHCLTXPROVIDERCTX pCtx, int rc); 500 DECLCALLBACK(void) VBoxSvcClipboardTransferCanceledCallback(PSHCLTXPROVIDERCTX pCtx); 501 DECLCALLBACK(void) VBoxSvcClipboardTransferErrorCallback(PSHCLTXPROVIDERCTX pCtx, int rc); 474 DECLCALLBACK(int) ShClSvcTransferIfaceGHRootListRead(PSHCLTXPROVIDERCTX pCtx); 475 DECLCALLBACK(int) ShClSvcTransferIfaceGHListOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLLISTOPENPARMS pOpenParms, PSHCLLISTHANDLE phList); 476 DECLCALLBACK(int) ShClSvcTransferIfaceGHListClose(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList); 477 DECLCALLBACK(int) ShClSvcTransferIfaceGHListHdrRead(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr); 478 DECLCALLBACK(int) ShClSvcTransferIfaceGHListEntryRead(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList, PSHCLLISTENTRY pListEntry); 479 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLOBJOPENCREATEPARMS pCreateParms, PSHCLOBJHANDLE phObj); 480 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjClose(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj); 481 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjRead(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj, void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead); 502 482 /** @} */ 503 483 #endif /* VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS */ -
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-transfers.cpp
r103480 r103630 279 279 280 280 /** @copydoc SHCLTXPROVIDERIFACE::pfnRootListRead */ 281 DECLCALLBACK(int) shClSvcTransferIfaceGHRootListRead(PSHCLTXPROVIDERCTX pCtx)281 DECLCALLBACK(int) ShClSvcTransferIfaceGHRootListRead(PSHCLTXPROVIDERCTX pCtx) 282 282 { 283 283 LogFlowFuncEnter(); … … 307 307 308 308 /** @copydoc SHCLTXPROVIDERIFACE::pfnListOpen */ 309 DECLCALLBACK(int) shClSvcTransferIfaceGHListOpen(PSHCLTXPROVIDERCTX pCtx,309 DECLCALLBACK(int) ShClSvcTransferIfaceGHListOpen(PSHCLTXPROVIDERCTX pCtx, 310 310 PSHCLLISTOPENPARMS pOpenParms, PSHCLLISTHANDLE phList) 311 311 { … … 381 381 382 382 /** @copydoc SHCLTXPROVIDERIFACE::pfnListClose */ 383 DECLCALLBACK(int) shClSvcTransferIfaceGHListClose(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList)383 DECLCALLBACK(int) ShClSvcTransferIfaceGHListClose(PSHCLTXPROVIDERCTX pCtx, SHCLLISTHANDLE hList) 384 384 { 385 385 LogFlowFuncEnter(); … … 441 441 442 442 /** @copydoc SHCLTXPROVIDERIFACE::pfnListHdrRead */ 443 DECLCALLBACK(int) shClSvcTransferIfaceGHListHdrRead(PSHCLTXPROVIDERCTX pCtx,443 DECLCALLBACK(int) ShClSvcTransferIfaceGHListHdrRead(PSHCLTXPROVIDERCTX pCtx, 444 444 SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr) 445 445 { … … 503 503 } 504 504 505 /** @copydoc SHCLTXPROVIDERIFACE::pfnListHdrWrite */506 DECLCALLBACK(int) shClSvcTransferIfaceHGListHdrWrite(PSHCLTXPROVIDERCTX pCtx,507 SHCLLISTHANDLE hList, PSHCLLISTHDR pListHdr)508 {509 RT_NOREF(pCtx, hList, pListHdr);510 511 LogFlowFuncEnter();512 513 return VERR_NOT_IMPLEMENTED;514 }515 516 505 /** @copydoc SHCLTXPROVIDERIFACE::pfnListEntryRead */ 517 DECLCALLBACK(int) shClSvcTransferIfaceGHListEntryRead(PSHCLTXPROVIDERCTX pCtx,506 DECLCALLBACK(int) ShClSvcTransferIfaceGHListEntryRead(PSHCLTXPROVIDERCTX pCtx, 518 507 SHCLLISTHANDLE hList, PSHCLLISTENTRY pListEntry) 519 508 { … … 577 566 } 578 567 579 /** @copydoc SHCLTXPROVIDERIFACE::pfnListEntryWrite */580 DECLCALLBACK(int) shClSvcTransferIfaceHGListEntryWrite(PSHCLTXPROVIDERCTX pCtx,581 SHCLLISTHANDLE hList, PSHCLLISTENTRY pListEntry)582 {583 RT_NOREF(pCtx, hList, pListEntry);584 585 LogFlowFuncEnter();586 587 return VERR_NOT_IMPLEMENTED;588 }589 590 568 /** @copydoc SHCLTXPROVIDERIFACE::pfnObjOpen */ 591 DECLCALLBACK(int) shClSvcTransferIfaceGHObjOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLOBJOPENCREATEPARMS pCreateParms, PSHCLOBJHANDLE phObj)569 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjOpen(PSHCLTXPROVIDERCTX pCtx, PSHCLOBJOPENCREATEPARMS pCreateParms, PSHCLOBJHANDLE phObj) 592 570 { 593 571 LogFlowFuncEnter(); … … 667 645 668 646 /** @copydoc SHCLTXPROVIDERIFACE::pfnObjClose */ 669 DECLCALLBACK(int) shClSvcTransferIfaceGHObjClose(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj)647 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjClose(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj) 670 648 { 671 649 LogFlowFuncEnter(); … … 733 711 734 712 /** @copydoc SHCLTXPROVIDERIFACE::pfnObjRead */ 735 DECLCALLBACK(int) shClSvcTransferIfaceGHObjRead(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj,713 DECLCALLBACK(int) ShClSvcTransferIfaceGHObjRead(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj, 736 714 void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbRead) 737 715 { … … 782 760 if (pcbRead) 783 761 *pcbRead = cbRead; 784 785 ShClPayloadFree(pPayload);786 }787 else788 rc = rcEvent;789 }790 791 ShClEventRelease(pEvent);792 }793 else794 {795 shClSvcMsgFree(pClient, pMsg);796 rc = VERR_SHCLPB_MAX_EVENTS_REACHED;797 }798 }799 else800 rc = VERR_NO_MEMORY;801 802 LogFlowFuncLeaveRC(rc);803 return rc;804 }805 806 /** @copydoc SHCLTXPROVIDERIFACE::pfnObjWrite */807 DECLCALLBACK(int) shClSvcTransferIfaceHGObjWrite(PSHCLTXPROVIDERCTX pCtx, SHCLOBJHANDLE hObj,808 void *pvData, uint32_t cbData, uint32_t fFlags, uint32_t *pcbWritten)809 {810 LogFlowFuncEnter();811 812 PSHCLCLIENT pClient = (PSHCLCLIENT)pCtx->pvUser;813 AssertPtr(pClient);814 815 int rc;816 817 PSHCLCLIENTMSG pMsg = shClSvcMsgAlloc(pClient, VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_WRITE,818 VBOX_SHCL_CPARMS_OBJ_WRITE);819 if (pMsg)820 {821 PSHCLEVENT pEvent;822 rc = ShClEventSourceGenerateAndRegisterEvent(&pCtx->pTransfer->Events, &pEvent);823 if (RT_SUCCESS(rc))824 {825 HGCMSvcSetU64(&pMsg->aParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,826 pCtx->pTransfer->State.uID, pEvent->idEvent));827 HGCMSvcSetU64(&pMsg->aParms[1], hObj);828 HGCMSvcSetU64(&pMsg->aParms[2], cbData);829 HGCMSvcSetU64(&pMsg->aParms[3], fFlags);830 831 shClSvcClientLock(pClient);832 833 shClSvcMsgAdd(pClient, pMsg, true /* fAppend */);834 rc = shClSvcClientWakeup(pClient);835 836 shClSvcClientUnlock(pClient);837 838 if (RT_SUCCESS(rc))839 {840 int rcEvent;841 PSHCLEVENTPAYLOAD pPayload;842 rc = ShClEventWaitEx(pEvent, pCtx->pTransfer->uTimeoutMs, &rcEvent, &pPayload);843 if (RT_SUCCESS(rc))844 {845 const uint32_t cbRead = RT_MIN(cbData, pPayload->cbData);846 847 memcpy(pvData, pPayload->pvData, cbRead);848 849 if (pcbWritten)850 *pcbWritten = cbRead;851 762 852 763 ShClPayloadFree(pPayload); … … 1662 1573 1663 1574 /** 1664 * Transfer client (guest) handler for the Shared Clipboard host service.1575 * Transfer message client (guest) handler for the Shared Clipboard host service. 1665 1576 * 1666 1577 * @returns VBox status code, or VINF_HGCM_ASYNC_EXECUTE if returning to the client will be deferred. … … 1672 1583 * @param tsArrival Timestamp of arrival. 1673 1584 */ 1674 int shClSvcTransferHandler(PSHCLCLIENT pClient,1675 VBOXHGCMCALLHANDLE callHandle,1676 uint32_t u32Function,1677 uint32_t cParms,1678 VBOXHGCMSVCPARM aParms[],1679 uint64_t tsArrival)1585 int ShClSvcTransferMsgClientHandler(PSHCLCLIENT pClient, 1586 VBOXHGCMCALLHANDLE callHandle, 1587 uint32_t u32Function, 1588 uint32_t cParms, 1589 VBOXHGCMSVCPARM aParms[], 1590 uint64_t tsArrival) 1680 1591 { 1681 1592 RT_NOREF(callHandle, aParms, tsArrival); … … 2116 2027 2117 2028 /** 2118 * Transfer host handler for the Shared Clipboard host service.2029 * Transfer message host handler for the Shared Clipboard host service. 2119 2030 * 2120 2031 * @returns VBox status code. … … 2123 2034 * @param aParms Array function parameters supplied. 2124 2035 */ 2125 int shClSvcTransferHostHandler(uint32_t u32Function,2126 uint32_t cParms,2127 VBOXHGCMSVCPARM aParms[])2036 int ShClSvcTransferMsgHostHandler(uint32_t u32Function, 2037 uint32_t cParms, 2038 VBOXHGCMSVCPARM aParms[]) 2128 2039 { 2129 2040 RT_NOREF(cParms, aParms); -
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-win.cpp
r103615 r103630 254 254 case SHCLTRANSFERDIR_FROM_REMOTE: /* G->H */ 255 255 { 256 pIface->pfnRootListRead = shClSvcTransferIfaceGHRootListRead;257 258 pIface->pfnListOpen = shClSvcTransferIfaceGHListOpen;259 pIface->pfnListClose = shClSvcTransferIfaceGHListClose;260 pIface->pfnListHdrRead = shClSvcTransferIfaceGHListHdrRead;261 pIface->pfnListEntryRead = shClSvcTransferIfaceGHListEntryRead;262 263 pIface->pfnObjOpen = shClSvcTransferIfaceGHObjOpen;264 pIface->pfnObjClose = shClSvcTransferIfaceGHObjClose;265 pIface->pfnObjRead = shClSvcTransferIfaceGHObjRead;256 pIface->pfnRootListRead = ShClSvcTransferIfaceGHRootListRead; 257 258 pIface->pfnListOpen = ShClSvcTransferIfaceGHListOpen; 259 pIface->pfnListClose = ShClSvcTransferIfaceGHListClose; 260 pIface->pfnListHdrRead = ShClSvcTransferIfaceGHListHdrRead; 261 pIface->pfnListEntryRead = ShClSvcTransferIfaceGHListEntryRead; 262 263 pIface->pfnObjOpen = ShClSvcTransferIfaceGHObjOpen; 264 pIface->pfnObjClose = ShClSvcTransferIfaceGHObjClose; 265 pIface->pfnObjRead = ShClSvcTransferIfaceGHObjRead; 266 266 break; 267 267 } -
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-x11.cpp
r103442 r103630 382 382 case SHCLTRANSFERDIR_FROM_REMOTE: /* Guest -> Host. */ 383 383 { 384 pIface->pfnRootListRead = shClSvcTransferIfaceGHRootListRead;385 386 pIface->pfnListOpen = shClSvcTransferIfaceGHListOpen;387 pIface->pfnListClose = shClSvcTransferIfaceGHListClose;388 pIface->pfnListHdrRead = shClSvcTransferIfaceGHListHdrRead;389 pIface->pfnListEntryRead = shClSvcTransferIfaceGHListEntryRead;390 391 pIface->pfnObjOpen = shClSvcTransferIfaceGHObjOpen;392 pIface->pfnObjClose = shClSvcTransferIfaceGHObjClose;393 pIface->pfnObjRead = shClSvcTransferIfaceGHObjRead;384 pIface->pfnRootListRead = ShClSvcTransferIfaceGHRootListRead; 385 386 pIface->pfnListOpen = ShClSvcTransferIfaceGHListOpen; 387 pIface->pfnListClose = ShClSvcTransferIfaceGHListClose; 388 pIface->pfnListHdrRead = ShClSvcTransferIfaceGHListHdrRead; 389 pIface->pfnListEntryRead = ShClSvcTransferIfaceGHListEntryRead; 390 391 pIface->pfnObjOpen = ShClSvcTransferIfaceGHObjOpen; 392 pIface->pfnObjClose = ShClSvcTransferIfaceGHObjClose; 393 pIface->pfnObjRead = ShClSvcTransferIfaceGHObjRead; 394 394 break; 395 395 } -
trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc.cpp
r103426 r103630 816 816 * @param paParms Array of parameters. 817 817 */ 818 static int shClSvcClient QueryFeatures(VBOXHGCMCALLHANDLE hCall, uint32_t cParms, VBOXHGCMSVCPARM paParms[])818 static int shClSvcClientMsgQueryFeatures(VBOXHGCMCALLHANDLE hCall, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 819 819 { 820 820 /* … … 1595 1595 1596 1596 /** 1597 * Handles the VBOX_SHCL_GUEST_FN_REPORT_FORMATS message from the guest. 1598 */ 1599 static int shClSvcClientReportFormats(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 1597 * Implements VBOX_SHCL_GUEST_FN_REPORT_FORMATS. 1598 * 1599 * @returns VBox status code. 1600 * @param pClient The client state. 1601 * @param cParms Number of parameters. 1602 * @param paParms Array of parameters. 1603 */ 1604 static int shClSvcClientMsgReportFormats(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 1600 1605 { 1601 1606 /* … … 1691 1696 1692 1697 /** 1698 * Implements VBOX_SHCL_GUEST_FN_DATA_READ. 1699 * 1693 1700 * Called when the guest wants to read host clipboard data. 1694 * Handles the VBOX_SHCL_GUEST_FN_DATA_READ message.1695 1701 * 1696 1702 * @returns VBox status code. … … 1700 1706 * @param paParms Array of HGCM parameters. 1701 1707 */ 1702 static int shClSvcClient ReadData(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[])1708 static int shClSvcClientMsgDataRead(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 1703 1709 { 1704 1710 LogFlowFuncEnter(); … … 1860 1866 1861 1867 /** 1868 * Implements VBOX_SHCL_GUEST_FN_DATA_WRITE. 1869 * 1862 1870 * Called when the guest writes clipboard data to the host. 1863 * Handles the VBOX_SHCL_GUEST_FN_DATA_WRITE message.1864 1871 * 1865 1872 * @returns VBox status code. … … 1868 1875 * @param paParms Array of HGCM parameters. 1869 1876 */ 1870 static int shClSvcClient WriteData(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[])1877 static int shClSvcClientMsgDataWrite(PSHCLCLIENT pClient, uint32_t cParms, VBOXHGCMSVCPARM paParms[]) 1871 1878 { 1872 1879 LogFlowFuncEnter(); … … 2029 2036 2030 2037 /** 2031 * Gets an error from HGCM service parameters.2038 * Implements the VBOX_SHCL_GUEST_FN_ERROR. 2032 2039 * 2033 2040 * @returns VBox status code. … … 2036 2043 * @param pRc Where to store the received error code. 2037 2044 */ 2038 static int shClSvcClient Error(uint32_t cParms, VBOXHGCMSVCPARM paParms[], int *pRc)2045 static int shClSvcClientMsgError(uint32_t cParms, VBOXHGCMSVCPARM paParms[], int *pRc) 2039 2046 { 2040 2047 AssertPtrReturn(paParms, VERR_INVALID_PARAMETER); … … 2227 2234 2228 2235 case VBOX_SHCL_GUEST_FN_QUERY_FEATURES: 2229 rc = shClSvcClient QueryFeatures(callHandle, cParms, paParms);2236 rc = shClSvcClientMsgQueryFeatures(callHandle, cParms, paParms); 2230 2237 break; 2231 2238 … … 2255 2262 2256 2263 case VBOX_SHCL_GUEST_FN_REPORT_FORMATS: 2257 rc = shClSvcClient ReportFormats(pClient, cParms, paParms);2264 rc = shClSvcClientMsgReportFormats(pClient, cParms, paParms); 2258 2265 break; 2259 2266 2260 2267 case VBOX_SHCL_GUEST_FN_DATA_READ: 2261 rc = shClSvcClient ReadData(pClient, cParms, paParms);2268 rc = shClSvcClientMsgDataRead(pClient, cParms, paParms); 2262 2269 break; 2263 2270 2264 2271 case VBOX_SHCL_GUEST_FN_DATA_WRITE: 2265 rc = shClSvcClient WriteData(pClient, cParms, paParms);2272 rc = shClSvcClientMsgDataWrite(pClient, cParms, paParms); 2266 2273 break; 2267 2274 … … 2269 2276 { 2270 2277 int rcGuest; 2271 rc = shClSvcClient Error(cParms,paParms, &rcGuest);2278 rc = shClSvcClientMsgError(cParms,paParms, &rcGuest); 2272 2279 if (RT_SUCCESS(rc)) 2273 2280 { … … 2295 2302 { 2296 2303 if (g_fTransferMode & VBOX_SHCL_TRANSFER_MODE_F_ENABLED) 2297 rc = shClSvcTransferHandler(pClient, callHandle, u32Function, cParms, paParms, tsArrival);2304 rc = ShClSvcTransferMsgClientHandler(pClient, callHandle, u32Function, cParms, paParms, tsArrival); 2298 2305 else 2299 2306 { … … 2450 2457 { 2451 2458 #ifdef VBOX_WITH_SHARED_CLIPBOARD_TRANSFERS 2452 rc = shClSvcTransferHostHandler(u32Function, cParms, paParms);2459 rc = ShClSvcTransferMsgHostHandler(u32Function, cParms, paParms); 2453 2460 #else 2454 2461 rc = VERR_NOT_IMPLEMENTED;
Note:
See TracChangeset
for help on using the changeset viewer.