VirtualBox

Changeset 5538 in vbox


Ignore:
Timestamp:
Oct 27, 2007 4:22:10 AM (17 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
25760
Message:

portVersion query code (not tested, so not enabled). Fixed annoying msc warnings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r5520 r5538  
    959959    AutoReaderLock alock (that);
    960960
    961     int vrc = SSMR3PutU32 (pSSM, that->mSharedFolders.size());
     961    int vrc = SSMR3PutU32 (pSSM, (uint32_t)that->mSharedFolders.size());
    962962    AssertRC (vrc);
    963963
     
    970970
    971971        Utf8Str name = folder->name();
    972         vrc = SSMR3PutU32 (pSSM, name.length() + 1 /* term. 0 */);
     972        vrc = SSMR3PutU32 (pSSM, (uint32_t)name.length() + 1 /* term. 0 */);
    973973        AssertRC (vrc);
    974974        vrc = SSMR3PutStrZ (pSSM, name);
     
    976976
    977977        Utf8Str hostPath = folder->hostPath();
    978         vrc = SSMR3PutU32 (pSSM, hostPath.length() + 1 /* term. 0 */);
     978        vrc = SSMR3PutU32 (pSSM, (uint32_t)hostPath.length() + 1 /* term. 0 */);
    979979        AssertRC (vrc);
    980980        vrc = SSMR3PutStrZ (pSSM, hostPath);
     
    43694369    VBOXHGCMSVCPARM  parms[2];
    43704370    SHFLSTRING      *pFolderName, *pMapName;
    4371     int              cbString;
     4371    size_t           cbString;
    43724372
    43734373    Log (("Adding shared folder '%ls' -> '%ls'\n", aName, aHostPath));
    43744374
    43754375    cbString = (RTStrUcs2Len (aHostPath) + 1) * sizeof (RTUCS2);
     4376    if (cbString >= UINT16_MAX)
     4377        return setError (E_INVALIDARG, tr ("The name is too long"));
    43764378    pFolderName = (SHFLSTRING *) RTMemAllocZ (sizeof (SHFLSTRING) + cbString);
    43774379    Assert (pFolderName);
    43784380    memcpy (pFolderName->String.ucs2, aHostPath, cbString);
    43794381
    4380     pFolderName->u16Size   = cbString;
    4381     pFolderName->u16Length = cbString - sizeof(RTUCS2);
     4382    pFolderName->u16Size   = (uint16_t)cbString;
     4383    pFolderName->u16Length = (uint16_t)cbString - sizeof(RTUCS2);
    43824384
    43834385    parms[0].type = VBOX_HGCM_SVC_PARM_PTR;
    43844386    parms[0].u.pointer.addr = pFolderName;
    4385     parms[0].u.pointer.size = sizeof (SHFLSTRING) + cbString;
     4387    parms[0].u.pointer.size = sizeof (SHFLSTRING) + (uint16_t)cbString;
    43864388
    43874389    cbString = (RTStrUcs2Len (aName) + 1) * sizeof (RTUCS2);
     4390    if (cbString >= UINT16_MAX)
     4391    {
     4392        RTMemFree (pFolderName);
     4393        return setError (E_INVALIDARG, tr ("The host path is too long"));
     4394    }
    43884395    pMapName = (SHFLSTRING *) RTMemAllocZ (sizeof(SHFLSTRING) + cbString);
    43894396    Assert (pMapName);
    43904397    memcpy (pMapName->String.ucs2, aName, cbString);
    43914398
    4392     pMapName->u16Size   = cbString;
    4393     pMapName->u16Length = cbString - sizeof (RTUCS2);
     4399    pMapName->u16Size   = (uint16_t)cbString;
     4400    pMapName->u16Length = (uint16_t)cbString - sizeof (RTUCS2);
    43944401
    43954402    parms[1].type = VBOX_HGCM_SVC_PARM_PTR;
    43964403    parms[1].u.pointer.addr = pMapName;
    4397     parms[1].u.pointer.size = sizeof (SHFLSTRING) + cbString;
     4404    parms[1].u.pointer.size = sizeof (SHFLSTRING) + (uint16_t)cbString;
    43984405
    43994406    int vrc = mVMMDev->hgcmHostCall ("VBoxSharedFolders",
     
    44304437    VBOXHGCMSVCPARM  parms;
    44314438    SHFLSTRING      *pMapName;
    4432     int              cbString;
     4439    size_t           cbString;
    44334440
    44344441    Log (("Removing shared folder '%ls'\n", aName));
    44354442
    44364443    cbString = (RTStrUcs2Len (aName) + 1) * sizeof (RTUCS2);
     4444    if (cbString >= UINT16_MAX)
     4445        return setError (E_INVALIDARG, tr ("The name is too long"));
    44374446    pMapName = (SHFLSTRING *) RTMemAllocZ (sizeof (SHFLSTRING) + cbString);
    44384447    Assert (pMapName);
    44394448    memcpy (pMapName->String.ucs2, aName, cbString);
    44404449
    4441     pMapName->u16Size   = cbString;
    4442     pMapName->u16Length = cbString - sizeof (RTUCS2);
     4450    pMapName->u16Size   = (uint16_t)cbString;
     4451    pMapName->u16Length = (uint16_t)cbString - sizeof (RTUCS2);
    44434452
    44444453    parms.type = VBOX_HGCM_SVC_PARM_PTR;
    44454454    parms.u.pointer.addr = pMapName;
    4446     parms.u.pointer.size = sizeof (SHFLSTRING) + cbString;
     4455    parms.u.pointer.size = sizeof (SHFLSTRING) + (uint16_t)cbString;
    44474456
    44484457    int vrc = mVMMDev->hgcmHostCall ("VBoxSharedFolders",
     
    48694878            return VERR_INVALID_PARAMETER;  /* The clientId is invalid then. */
    48704879    }
    4871     ULONG ulUSBVersion = 0x00010001; /* 1.1 */
    4872 #if 0
    4873     HRESULT hrc = aHostDevice->GetUSBVersion(&ulUSBVersion);
     4880
     4881    USHORT portVersion = 1;
     4882#if 0 /* can't test this now */
     4883    HRESULT hrc = aHostDevice->COMGETTER(PortVersion)(&portVersion);
    48744884    AssertComRCReturn(hrc, VERR_GENERAL_FAILURE);
     4885    Assert(portVersion == 1 || portVersion == 2);
    48754886#endif
    4876     Assert(ulUSBVersion == 0x00010001 || ulUSBVersion == 0x00020000);
    48774887
    48784888    int vrc = PDMR3USBCreateProxyDevice (that->mpVM, aUuid, aRemote, aAddress, pvRemoteBackend,
    4879                                          ulUSBVersion == 0x00010001 ? VUSB_STDVER_11 : VUSB_STDVER_20);
     4889                                         portVersion == 1 ? VUSB_STDVER_11 : VUSB_STDVER_20);
    48804890    if (VBOX_SUCCESS (vrc))
    48814891    {
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette