Changeset 76143 in vbox for trunk/src/VBox/HostServices
- Timestamp:
- Dec 10, 2018 9:24:46 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 127388
- Location:
- trunk/src/VBox/HostServices/SharedFolders
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/HostServices/SharedFolders/service.cpp
r75993 r76143 91 91 static STAMPROFILE g_StatFlushFail; 92 92 static STAMPROFILE g_StatSetUtf8; 93 static STAMPROFILE g_StatSetFileSize; 94 static STAMPROFILE g_StatSetFileSizeFail; 93 95 static STAMPROFILE g_StatSymlink; 94 96 static STAMPROFILE g_StatSymlinkFail; … … 1497 1499 /* Execute the function: */ 1498 1500 rc = vbsfMappingsCancelChangesWaits(pClient); 1501 break; 1502 } 1503 1504 case SHFL_FN_SET_FILE_SIZE: 1505 { 1506 pStat = &g_StatSetFileSize; 1507 pStatFail = &g_StatSetFileSizeFail; 1508 Log(("SharedFolders host service: svcCall: SHFL_FN_SET_FILE_SIZE\n")); 1509 1510 /* Validate input: */ 1511 ASSERT_GUEST_STMT_BREAK(cParms == SHFL_CPARMS_SET_FILE_SIZE, rc = VERR_WRONG_PARAMETER_COUNT); 1512 ASSERT_GUEST_STMT_BREAK(paParms[0].type == VBOX_HGCM_SVC_PARM_32BIT, rc = VERR_WRONG_PARAMETER_TYPE); /* id32Root */ 1513 ASSERT_GUEST_STMT_BREAK(paParms[1].type == VBOX_HGCM_SVC_PARM_64BIT, rc = VERR_WRONG_PARAMETER_TYPE); /* u64Handle */ 1514 ASSERT_GUEST_STMT_BREAK(paParms[2].type == VBOX_HGCM_SVC_PARM_64BIT, rc = VERR_WRONG_PARAMETER_TYPE); /* cb64NewSize */ 1515 1516 /* Execute the function: */ 1517 rc = vbsfSetFileSize(pClient, paParms[0].u.uint32, paParms[1].u.uint64, paParms[2].u.uint64); 1499 1518 break; 1500 1519 } -
trunk/src/VBox/HostServices/SharedFolders/vbsf.cpp
r75993 r76143 30 30 #include "shflhandle.h" 31 31 32 #include <VBox/AssertGuest.h> 32 33 #include <iprt/alloc.h> 33 34 #include <iprt/assert.h> … … 1583 1584 1584 1585 1586 /** 1587 * Handles SHFL_FN_SET_FILE_SIZE. 1588 */ 1589 int vbsfSetFileSize(SHFLCLIENTDATA *pClient, SHFLROOT idRoot, SHFLHANDLE hHandle, uint64_t cbNewSize) 1590 { 1591 /* 1592 * Resolve handle and validate write access. 1593 */ 1594 SHFLFILEHANDLE *pHandle = vbsfQueryFileHandle(pClient, hHandle); 1595 ASSERT_GUEST_RETURN(pHandle, VERR_INVALID_HANDLE); 1596 1597 int rc = vbsfCheckHandleAccess(pClient, idRoot, pHandle, VBSF_CHECK_ACCESS_WRITE); 1598 if (RT_SUCCESS(rc)) 1599 { 1600 /* 1601 * Execute the request. 1602 */ 1603 rc = RTFileSetSize(pHandle->file.Handle, cbNewSize); 1604 } 1605 return rc; 1606 } 1607 1608 1585 1609 static int vbsfSetEndOfFile(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLHANDLE Handle, uint32_t flags, 1586 1610 uint32_t *pcbBuffer, uint8_t *pBuffer) -
trunk/src/VBox/HostServices/SharedFolders/vbsf.h
r75407 r76143 34 34 int vbsfDirList(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLHANDLE Handle, SHFLSTRING *pPath, uint32_t flags, uint32_t *pcbBuffer, uint8_t *pBuffer, uint32_t *pIndex, uint32_t *pcFiles); 35 35 int vbsfFileInfo(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLHANDLE Handle, uint32_t flags, uint32_t *pcbBuffer, uint8_t *pBuffer); 36 int vbsfSetFileSize(SHFLCLIENTDATA *pClient, SHFLROOT idRoot, SHFLHANDLE hHandle, uint64_t cbNewSize); 36 37 int vbsfQueryFSInfo(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLHANDLE Handle, uint32_t flags, uint32_t *pcbBuffer, uint8_t *pBuffer); 37 38 int vbsfSetFSInfo(SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLHANDLE Handle, uint32_t flags, uint32_t *pcbBuffer, uint8_t *pBuffer);
Note:
See TracChangeset
for help on using the changeset viewer.