Changeset 71314 in vbox for trunk/src/VBox/Additions
- Timestamp:
- Mar 13, 2018 3:51:14 PM (7 years ago)
- svn:sync-xref-src-repo-rev:
- 121258
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxService/VBoxServiceControlSession.cpp
r69500 r71314 5 5 6 6 /* 7 * Copyright (C) 2013-201 7Oracle Corporation7 * Copyright (C) 2013-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 625 625 #ifdef DEBUG 626 626 VGSvcVerbose(4, "Renaming '%s' to '%s' returned rc=%Rrc\n", szSource, szDest, rc); 627 #endif 628 return rc; 629 } 630 631 632 static int vgsvcGstCtrlSessionHandlePathUserDocuments(PVBOXSERVICECTRLSESSION pSession, PVBGLR3GUESTCTRLCMDCTX pHostCtx) 633 { 634 AssertPtrReturn(pSession, VERR_INVALID_POINTER); 635 AssertPtrReturn(pHostCtx, VERR_INVALID_POINTER); 636 637 char szPath[RTPATH_MAX]; 638 int rc = RTPathUserDocuments(szPath, sizeof(szPath)); 639 640 /* Report back in any case. */ 641 int rc2 = VbglR3GuestCtrlMsgReplyEx(pHostCtx, rc, 0 /* Type */, 642 szPath, strlen(szPath) + 1 /* Include terminating zero */); 643 if (RT_FAILURE(rc2)) 644 VGSvcError("Failed to report user documents, rc=%Rrc\n", rc2); 645 if (RT_SUCCESS(rc)) 646 rc = rc2; 647 648 #ifdef DEBUG 649 VGSvcVerbose(4, "User documents is '%s', rc=%Rrc\n", szPath, rc); 650 #endif 651 return rc; 652 } 653 654 655 static int vgsvcGstCtrlSessionHandlePathUserHome(PVBOXSERVICECTRLSESSION pSession, PVBGLR3GUESTCTRLCMDCTX pHostCtx) 656 { 657 AssertPtrReturn(pSession, VERR_INVALID_POINTER); 658 AssertPtrReturn(pHostCtx, VERR_INVALID_POINTER); 659 660 char szPath[RTPATH_MAX]; 661 int rc = RTPathUserHome(szPath, sizeof(szPath)); 662 663 /* Report back in any case. */ 664 int rc2 = VbglR3GuestCtrlMsgReplyEx(pHostCtx, rc, 0 /* Type */, 665 szPath, strlen(szPath) + 1 /* Include terminating zero */); 666 if (RT_FAILURE(rc2)) 667 VGSvcError("Failed to report user home, rc=%Rrc\n", rc2); 668 if (RT_SUCCESS(rc)) 669 rc = rc2; 670 671 #ifdef DEBUG 672 VGSvcVerbose(4, "User home is '%s', rc=%Rrc\n", szPath, rc); 627 673 #endif 628 674 return rc; … … 1026 1072 break; 1027 1073 1074 case HOST_PATH_USER_DOCUMENTS: 1075 if (fImpersonated) 1076 rc = vgsvcGstCtrlSessionHandlePathUserDocuments(pSession, pHostCtx); 1077 else 1078 rc = VERR_NOT_SUPPORTED; 1079 break; 1080 1081 case HOST_PATH_USER_HOME: 1082 if (fImpersonated) 1083 rc = vgsvcGstCtrlSessionHandlePathUserHome(pSession, pHostCtx); 1084 else 1085 rc = VERR_NOT_SUPPORTED; 1086 break; 1087 1028 1088 default: 1029 1089 rc = VbglR3GuestCtrlMsgSkip(pHostCtx->uClientID);
Note:
See TracChangeset
for help on using the changeset viewer.