Changeset 99262 in vbox for trunk/src/VBox/Additions/common/VBoxGuest/lib
- Timestamp:
- Apr 3, 2023 3:17:07 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 156645
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibGuestCtrl.cpp
r99257 r99262 1260 1260 #ifdef VBOX_WITH_GSTCTL_TOOLBOX_AS_CMDS 1261 1261 /** 1262 * Retrieves a HOST_MSG_FS_QUERY_INFO message. 1263 * 1264 * @returns VBox status code. 1265 * @param pCtx Guest control command context to use. 1266 * @param pszPath Where to return the path of the file system object to query. 1267 * @param cbPath Size (in bytes) of \a pszPath. 1268 */ 1269 VBGLR3DECL(int) VbglR3GuestCtrlFsGetQueryInfo(PVBGLR3GUESTCTRLCMDCTX pCtx, char *pszPath, uint32_t cbPath) 1270 { 1271 AssertPtrReturn(pCtx, VERR_INVALID_POINTER); 1272 1273 AssertPtrReturn(pszPath, VERR_INVALID_POINTER); 1274 AssertReturn(cbPath, VERR_INVALID_PARAMETER); 1275 1276 int rc; 1277 do 1278 { 1279 HGCMMsgFsQueryInfo Msg; 1280 VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, vbglR3GuestCtrlGetMsgFunctionNo(pCtx->uClientID), pCtx->uNumParms); 1281 VbglHGCMParmUInt32Set(&Msg.context, HOST_MSG_FS_QUERY_INFO); 1282 VbglHGCMParmPtrSet(&Msg.path, pszPath, cbPath); 1283 1284 rc = VbglR3HGCMCall(&Msg.hdr, sizeof(Msg)); 1285 if (RT_SUCCESS(rc)) 1286 Msg.context.GetUInt32(&pCtx->uContextID); 1287 1288 } while (rc == VERR_INTERRUPTED && g_fVbglR3GuestCtrlHavePeekGetCancel); 1289 return rc; 1290 } 1291 1292 /** 1262 1293 * Retrieves a HOST_MSG_FS_OBJ_QUERY_INFO message. 1263 1294 * … … 2683 2714 VBGL_HGCM_HDR_INIT(&Msg.reply_hdr.hdr, pCtx->uClientID, GUEST_MSG_FS_NOTIFY, GSTCTL_HGCM_REPLY_HDR_PARMS + 3); 2684 2715 VbglHGCMParmUInt32Set(&Msg.reply_hdr.context, pCtx->uContextID); 2685 VbglHGCMParmUInt32Set(&Msg.reply_hdr.type, GUEST_FS_NOTIFYTYPE_QUERY_ INFO);2716 VbglHGCMParmUInt32Set(&Msg.reply_hdr.type, GUEST_FS_NOTIFYTYPE_QUERY_OBJ_INFO); 2686 2717 VbglHGCMParmUInt32Set(&Msg.reply_hdr.rc, uRc); 2687 2718 2688 VbglHGCMParmPtrSet (&Msg.u.query info.obj_info, pFsObjInfo, sizeof(GSTCTLFSOBJINFO));2689 VbglHGCMParmPtrSetString(&Msg.u.query info.user, pszUser);2690 VbglHGCMParmPtrSetString(&Msg.u.query info.groups, pszGroups);2719 VbglHGCMParmPtrSet (&Msg.u.queryobjinfo.obj_info, pFsObjInfo, sizeof(GSTCTLFSOBJINFO)); 2720 VbglHGCMParmPtrSetString(&Msg.u.queryobjinfo.user, pszUser); 2721 VbglHGCMParmPtrSetString(&Msg.u.queryobjinfo.groups, pszGroups); 2691 2722 2692 2723 return VbglR3HGCMCall(&Msg.reply_hdr.hdr, RT_UOFFSET_AFTER(HGCMReplyFsNotify, u.queryinfo)); … … 2732 2763 2733 2764 return VbglR3HGCMCall(&Msg.reply_hdr.hdr, RT_UOFFSET_AFTER(HGCMReplyFsNotify, u.createtemp)); 2765 } 2766 2767 /** 2768 * Replies to a HOST_MSG_FS_QUERY_INFO message. 2769 * 2770 * @returns VBox status code. 2771 * @param pCtx Guest control command context to use. 2772 * @param uRc Guest rc of operation (note: IPRT-style signed int). 2773 * @param pFsInfo File system information to return. 2774 * @param cbFsInfo Size (in bytes) of \a pFsInfo. 2775 */ 2776 VBGLR3DECL(int) VbglR3GuestCtrlFsCbQueryInfo(PVBGLR3GUESTCTRLCMDCTX pCtx, uint32_t uRc, PGSTCTLFSINFO pFsInfo, uint32_t cbFsInfo) 2777 { 2778 AssertPtrReturn(pCtx, VERR_INVALID_POINTER); 2779 AssertPtrReturn(pFsInfo, VERR_INVALID_POINTER); 2780 AssertReturn(cbFsInfo, VERR_INVALID_PARAMETER); 2781 2782 HGCMReplyFsNotify Msg; 2783 VBGL_HGCM_HDR_INIT(&Msg.reply_hdr.hdr, pCtx->uClientID, GUEST_MSG_FS_NOTIFY, GSTCTL_HGCM_REPLY_HDR_PARMS + 1); 2784 VbglHGCMParmUInt32Set(&Msg.reply_hdr.context, pCtx->uContextID); 2785 VbglHGCMParmUInt32Set(&Msg.reply_hdr.type, GUEST_FS_NOTIFYTYPE_QUERY_INFO); 2786 VbglHGCMParmUInt32Set(&Msg.reply_hdr.rc, uRc); 2787 2788 VbglHGCMParmPtrSet(&Msg.u.queryinfo.fs_info, pFsInfo, cbFsInfo); 2789 2790 return VbglR3HGCMCall(&Msg.reply_hdr.hdr, RT_UOFFSET_AFTER(HGCMReplyFsNotify, u.queryinfo)); 2734 2791 } 2735 2792 #endif /* VBOX_WITH_GSTCTL_TOOLBOX_AS_CMDS */
Note:
See TracChangeset
for help on using the changeset viewer.