VirtualBox

Changeset 81346 in vbox


Ignore:
Timestamp:
Oct 18, 2019 10:40:15 AM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
134059
Message:

Shared Clipboard/Transfers: Made the context ID 64-bit wide.

Location:
trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/GuestHost/SharedClipboard.h

    r81223 r81346  
    115115typedef SHCLEVENTSOURCEID *PSHCLEVENTSOURCEID;
    116116
     117/** Defines a session ID. */
     118typedef uint16_t     SHCLSESSIONID;
     119/** Defines a pointer to a session ID. */
     120typedef SHCLSESSIONID *PSHCLSESSIONID;
    117121/** Defines an event ID. */
    118122typedef uint32_t     SHCLEVENTID;
     
    121125
    122126/** Maximum number of concurrent Shared Clipboard client sessions a VM can have. */
    123 #define VBOX_SHCL_MAX_SESSIONS                   32
     127#define VBOX_SHCL_MAX_SESSIONS                   UINT16_MAX
    124128/** Maximum number of concurrent Shared Clipboard transfers a single
    125129 *  client can have. */
    126 #define VBOX_SHCL_MAX_TRANSFERS                  _2K
     130#define VBOX_SHCL_MAX_TRANSFERS                  UINT16_MAX
    127131/** Maximum number of events a single Shared Clipboard transfer can have. */
    128 #define VBOX_SHCL_MAX_EVENTS                     _64K
    129 
    130 /**
    131  * Creates a context ID out of a client ID, a transfer ID and a count.
     132#define VBOX_SHCL_MAX_EVENTS                     UINT32_MAX
     133
     134/**
     135 * Creates a context ID out of a client ID, a transfer ID and a count (can be an event ID).
    132136 */
    133137#define VBOX_SHCL_CONTEXTID_MAKE(uSessionID, uTransferID, uEventID) \
    134     (  (uint32_t)((uSessionID)  &   0x1f) << 27 \
    135      | (uint32_t)((uTransferID) &  0x7ff) << 16 \
    136      | (uint32_t)((uEventID)    & 0xffff)      \
     138    (  (uint64_t)((uSessionID)  & 0xffff) << 48 \
     139     | (uint64_t)((uTransferID) & 0xffff) << 32 \
     140     | (uint32_t)((uEventID)    & 0xffffffff) \
    137141    )
    138142/** Creates a context ID out of a session ID. */
    139143#define VBOX_SHCL_CONTEXTID_MAKE_SESSION(uSessionID) \
    140     ((uint32_t)((uSessionID) & 0x1f) << 27)
     144    ((uint32_t)((uSessionID) & 0xffff) << 48)
    141145/** Gets the session ID out of a context ID. */
    142146#define VBOX_SHCL_CONTEXTID_GET_SESSION(uContextID) \
    143     (((uContextID) >> 27) & 0x1f)
     147    (((uContextID) >> 48) & 0xffff)
    144148/** Gets the transfer ID out of a context ID. */
    145149#define VBOX_SHCL_CONTEXTID_GET_TRANSFER(uContextID) \
    146     (((uContextID) >> 16) & 0x7ff)
     150    (((uContextID) >> 32) & 0xffff)
    147151/** Gets the transfer event out of a context ID. */
    148152#define VBOX_SHCL_CONTEXTID_GET_EVENT(uContextID) \
    149     ((uContextID) & 0xffff)
     153    ((uContextID) & 0xffffffff)
    150154
    151155/**
  • trunk/include/VBox/HostServices/VBoxClipboardSvc.h

    r81286 r81346  
    301301        struct
    302302        {
    303             /** uint32_t, in: Context ID. */
     303            /** uint64_t, in: Context ID. */
    304304            HGCMFunctionParameter uContext;
    305305            /** uint32_t, out:  VBOX_SHCL_FMT_*. */
     
    318318    VBGLIOCHGCMCALL hdr;
    319319
    320     /** uint32_t, out: Context ID. */
     320    /** uint64_t, out: Context ID. */
    321321    HGCMFunctionParameter uContext;
    322322    /** uint32_t, out: Requested format to read data in. */
     
    366366        struct
    367367        {
    368             /** uint32_t, out: Context ID. */
     368            /** uint64_t, out: Context ID. */
    369369            HGCMFunctionParameter uContext;
    370370            /** uint32_t, out: Requested format to read data in. */
     
    387387    VBGLIOCHGCMCALL hdr;
    388388
    389     /** uint32_t, out: Context ID. */
     389    /** uint64_t, out: Context ID. */
    390390    HGCMFunctionParameter uContext;
    391391    /** uint32_t, out: Direction of transfer; of type SHCLTRANSFERDIR_. */
     
    444444    VBGLIOCHGCMCALL hdr;
    445445
    446     /** uint32_t, in: Context ID. */
     446    /** uint64_t, in: Context ID. */
    447447    HGCMFunctionParameter uContext;
    448448    /** uint32_t, in: Transfer status of type SHCLTRANSFERSTATUS. */
     
    476476    VBGLIOCHGCMCALL hdr;
    477477
    478     /** uint32_t, out: Context ID. */
     478    /** uint64_t, out: Context ID. */
    479479    HGCMFunctionParameter uContext;
    480480    /** uint32_t, out: Message type of type VBOX_SHCL_REPLYMSGTYPE_XXX. */
     
    515515typedef struct _VBoxShClRootListParms
    516516{
    517     /** uint32_t, in: Context ID. s*/
     517    /** uint64_t, in: Context ID. */
    518518    HGCMFunctionParameter uContext;
    519519    /** uint32_t, in: Roots listing flags; unused at the moment. */
     
    553553typedef struct _VBoxShClRootListEntryParms
    554554{
    555     /** uint32_t, in: Context ID. */
     555    /** uint64_t, in: Context ID. */
    556556    HGCMFunctionParameter uContext;
    557557    /** uint32_t, in: VBOX_SHCL_INFO_FLAG_XXX. */
     
    602602    VBGLIOCHGCMCALL hdr;
    603603
    604     /** uint32_t, in: Context ID. */
     604    /** uint64_t, in: Context ID. */
    605605    HGCMFunctionParameter uContext;
    606606    /** uint32_t, in: Listing flags (see VBOX_SHCL_LIST_FLAG_XXX). */
     
    627627    VBGLIOCHGCMCALL hdr;
    628628
    629     /** uint32_t, in/out: Context ID. */
     629    /** uint64_t, in/out: Context ID. */
    630630    HGCMFunctionParameter uContext;
    631631    /** uint64_t, in: List handle. */
     
    637637typedef struct _VBoxShClListHdrReqParms
    638638{
    639     /** uint32_t, in: Context ID. */
     639    /** uint64_t, in: Context ID. */
    640640    HGCMFunctionParameter uContext;
    641641    /** uint64_t, in: List handle. */
     
    677677typedef struct _VBoxShClListEntryReqParms
    678678{
    679     /** uint32_t, in: Context ID. */
     679    /** uint64_t, in: Context ID. */
    680680    HGCMFunctionParameter uContext;
    681681    /** uint64_t, in: List handle. */
     
    724724    VBGLIOCHGCMCALL hdr;
    725725
    726     /** uint32_t, in/out: Context ID. */
     726    /** uint64_t, in/out: Context ID. */
    727727    HGCMFunctionParameter uContext;
    728728    /** uint64_t, in/out: Object handle. */
     
    745745    VBGLIOCHGCMCALL hdr;
    746746
    747     /** uint32_t, in/out: Context ID. */
     747    /** uint64_t, in/out: Context ID. */
    748748    HGCMFunctionParameter uContext;
    749749    /** uint64_t, in: SHCLOBJHANDLE of object to close. */
     
    758758typedef struct _VBoxShClObjReadReqParms
    759759{
    760     /** uint32_t, in: Context ID. */
     760    /** uint64_t, in: Context ID. */
    761761    HGCMFunctionParameter uContext;
    762762    /** uint64_t, in: SHCLOBJHANDLE of object to write to. */
     
    791791    VBGLIOCHGCMCALL hdr;
    792792
    793     /** uint32_t, in/out: Context ID. */
     793    /** uint64_t, in/out: Context ID. */
    794794    HGCMFunctionParameter uContext;
    795795    /** uint64_t, in/out: SHCLOBJHANDLE of object to write to. */
     
    819819    VBGLIOCHGCMCALL hdr;
    820820
    821     /** uint32_t, in: Context ID. */
     821    /** uint64_t, in: Context ID. */
    822822    HGCMFunctionParameter uContext;
    823823    /** uint32_t, in: The error code (IPRT-style). */
  • trunk/include/VBox/VBoxGuestLib.h

    r81025 r81346  
    604604    uint32_t                  uClientID;
    605605    /** IN/OUT: Context ID to retrieve or to use. */
    606     uint32_t                  uContextID;
     606    uint64_t                  uContextID;
    607607    /** IN: Protocol version to use. */
    608608    uint32_t                  uProtocolVer;
  • trunk/src/VBox/Additions/common/VBoxGuest/lib/VBoxGuestR3LibClipboard.cpp

    r81229 r81346  
    185185                           VBOX_SHCL_GUEST_FN_MSG_GET, 3);
    186186
    187         Msg.u.v1.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_FORMATS_REPORT);
     187        Msg.u.v1.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_FORMATS_REPORT);
    188188        Msg.u.v1.uFormats.SetUInt32(0);
    189189        Msg.u.v1.fFlags.SetUInt32(0);
     
    193193    if (RT_SUCCESS(rc))
    194194    {
    195         rc = Msg.u.v1.uContext.GetUInt32(&pCtx->uContextID);
     195        rc = Msg.u.v1.uContext.GetUInt64(&pCtx->uContextID);
    196196        if (RT_SUCCESS(rc))
    197197            rc = Msg.u.v1.uFormats.GetUInt32(&pFormats->uFormats);
     
    222222                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_READ_DATA);
    223223
    224     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_READ_DATA);
     224    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_READ_DATA);
    225225    Msg.uFormat.SetUInt32(0);
    226226    Msg.cbSize.SetUInt32(0);
     
    229229    if (RT_SUCCESS(rc))
    230230    {
    231         rc = Msg.uContext.GetUInt32(&pCtx->uContextID);
     231        rc = Msg.uContext.GetUInt64(&pCtx->uContextID);
    232232        if (RT_SUCCESS(rc))
    233233            rc = Msg.uFormat.GetUInt32(&pDataReq->uFmt);
     
    407407                       VBOX_SHCL_GUEST_FN_ROOT_LIST_HDR_READ, VBOX_SHCL_CPARMS_ROOT_LIST_HDR_READ);
    408408
    409     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     409    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    410410    Msg.ReqParms.fRoots.SetUInt32(0);
    411411
     
    443443                       VBOX_SHCL_GUEST_FN_ROOT_LIST_ENTRY_READ, VBOX_SHCL_CPARMS_ROOT_LIST_ENTRY_READ);
    444444
    445     Msg.Parms.uContext.SetUInt32(pCtx->uContextID);
     445    Msg.Parms.uContext.SetUInt64(pCtx->uContextID);
    446446    Msg.Parms.fInfo.SetUInt32(pRootListEntry->fInfo);
    447447    Msg.Parms.uIndex.SetUInt32(uIndex);
     
    552552                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_TRANSFER_STATUS);
    553553
    554     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_STATUS);
     554    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_STATUS);
    555555    Msg.enmDir.SetUInt32(0);
    556556    Msg.enmStatus.SetUInt32(0);
     
    561561    if (RT_SUCCESS(rc))
    562562    {
    563         rc = Msg.uContext.GetUInt32(&pCtx->uContextID); AssertRC(rc);
     563        rc = Msg.uContext.GetUInt64(&pCtx->uContextID); AssertRC(rc);
    564564        if (RT_SUCCESS(rc))
    565565            rc = Msg.enmDir.GetUInt32((uint32_t *)pEnmDir); AssertRC(rc);
     
    599599                       VBOX_SHCL_GUEST_FN_REPLY, VBOX_SHCL_CPARMS_REPLY_MIN + 1);
    600600
    601     Msg.uContext.SetUInt32(pCtx->uContextID);
     601    Msg.uContext.SetUInt64(pCtx->uContextID);
    602602    Msg.enmType.SetUInt32(VBOX_SHCL_REPLYMSGTYPE_TRANSFER_STATUS);
    603603    Msg.rc.SetUInt32((uint32_t )rcTransfer); /* int vs. uint32_t */
     
    633633                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_ROOT_LIST_HDR_READ_REQ);
    634634
    635     Msg.ReqParms.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_HDR_READ);
     635    Msg.ReqParms.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_HDR_READ);
    636636    Msg.ReqParms.fRoots.SetUInt32(0);
    637637
     
    639639    if (RT_SUCCESS(rc))
    640640    {
    641         rc = Msg.ReqParms.uContext.GetUInt32(&pCtx->uContextID); AssertRC(rc);
     641        rc = Msg.ReqParms.uContext.GetUInt64(&pCtx->uContextID); AssertRC(rc);
    642642        if (RT_SUCCESS(rc))
    643643            rc = Msg.ReqParms.fRoots.GetUInt32(pfRoots); AssertRC(rc);
     
    666666                       VBOX_SHCL_GUEST_FN_ROOT_LIST_HDR_WRITE, VBOX_SHCL_CPARMS_ROOT_LIST_HDR_WRITE);
    667667
    668     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     668    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    669669    Msg.ReqParms.fRoots.SetUInt32(pRootListHdr->fRoots);
    670670
     
    697697                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_ROOT_LIST_ENTRY_READ_REQ);
    698698
    699     Msg.Parms.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_ENTRY_READ);
     699    Msg.Parms.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_ROOT_LIST_ENTRY_READ);
    700700    Msg.Parms.fInfo.SetUInt32(0);
    701701    Msg.Parms.uIndex.SetUInt32(0);
     
    704704    if (RT_SUCCESS(rc))
    705705    {
    706         rc = Msg.Parms.uContext.GetUInt32(&pCtx->uContextID); AssertRC(rc);
     706        rc = Msg.Parms.uContext.GetUInt64(&pCtx->uContextID); AssertRC(rc);
    707707        if (RT_SUCCESS(rc))
    708708            rc = Msg.Parms.fInfo.GetUInt32(pfInfo); AssertRC(rc);
     
    734734                       VBOX_SHCL_GUEST_FN_ROOT_LIST_ENTRY_WRITE, VBOX_SHCL_CPARMS_ROOT_LIST_ENTRY_WRITE);
    735735
    736     Msg.Parms.uContext.SetUInt32(pCtx->uContextID);
     736    Msg.Parms.uContext.SetUInt64(pCtx->uContextID);
    737737    Msg.Parms.fInfo.SetUInt32(0);
    738738    Msg.Parms.uIndex.SetUInt32(uIndex);
     
    769769                       VBOX_SHCL_GUEST_FN_LIST_OPEN, VBOX_SHCL_CPARMS_LIST_OPEN);
    770770
    771     Msg.uContext.SetUInt32(pCtx->uContextID);
     771    Msg.uContext.SetUInt64(pCtx->uContextID);
    772772    Msg.fList.SetUInt32(0);
    773773    Msg.cbFilter.SetUInt32(pOpenParms->cbFilter);
     
    805805                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_LIST_OPEN);
    806806
    807     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_OPEN);
     807    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_OPEN);
    808808    Msg.fList.SetUInt32(0);
    809809    Msg.cbPath.SetUInt32(pOpenParms->cbPath);
     
    816816    if (RT_SUCCESS(rc))
    817817    {
    818         rc = Msg.uContext.GetUInt32(&pCtx->uContextID);
     818        rc = Msg.uContext.GetUInt64(&pCtx->uContextID);
    819819        if (RT_SUCCESS(rc))
    820820            rc = Msg.fList.GetUInt32(&pOpenParms->fList);
     
    847847                       VBOX_SHCL_GUEST_FN_REPLY, VBOX_SHCL_CPARMS_REPLY_MIN + 1);
    848848
    849     Msg.uContext.SetUInt32(pCtx->uContextID);
     849    Msg.uContext.SetUInt64(pCtx->uContextID);
    850850    Msg.enmType.SetUInt32(VBOX_SHCL_REPLYMSGTYPE_LIST_OPEN);
    851851    Msg.rc.SetUInt32((uint32_t)rcReply); /** int vs. uint32_t */
     
    879879                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_LIST_CLOSE);
    880880
    881     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_CLOSE);
     881    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_CLOSE);
    882882    Msg.uHandle.SetUInt64(0);
    883883
     
    885885    if (RT_SUCCESS(rc))
    886886    {
    887         rc = Msg.uContext.GetUInt32(&pCtx->uContextID);
     887        rc = Msg.uContext.GetUInt64(&pCtx->uContextID);
    888888        if (RT_SUCCESS(rc))
    889889            rc = Msg.uHandle.GetUInt64(phList); AssertRC(rc);
     
    912912                       VBOX_SHCL_GUEST_FN_REPLY, VBOX_SHCL_CPARMS_REPLY_MIN + 1);
    913913
    914     Msg.uContext.SetUInt32(pCtx->uContextID);
     914    Msg.uContext.SetUInt64(pCtx->uContextID);
    915915    Msg.enmType.SetUInt32(VBOX_SHCL_REPLYMSGTYPE_LIST_CLOSE);
    916916    Msg.rc.SetUInt32((uint32_t)rcReply); /** int vs. uint32_t */
     
    943943                       VBOX_SHCL_HOST_MSG_TRANSFER_LIST_CLOSE, VBOX_SHCL_CPARMS_LIST_CLOSE);
    944944
    945     Msg.uContext.SetUInt32(pCtx->uContextID);
     945    Msg.uContext.SetUInt64(pCtx->uContextID);
    946946    Msg.uHandle.SetUInt64(hList);
    947947
     
    973973                       VBOX_SHCL_GUEST_FN_LIST_HDR_READ, VBOX_SHCL_CPARMS_LIST_HDR);
    974974
    975     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     975    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    976976    Msg.ReqParms.uHandle.SetUInt64(hList);
    977977    Msg.ReqParms.fFlags.SetUInt32(fFlags);
     
    10161016                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_LIST_HDR_READ_REQ);
    10171017
    1018     Msg.ReqParms.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_HDR_READ);
     1018    Msg.ReqParms.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_HDR_READ);
    10191019    Msg.ReqParms.uHandle.SetUInt64(0);
    10201020    Msg.ReqParms.fFlags.SetUInt32(0);
     
    10231023    if (RT_SUCCESS(rc))
    10241024    {
    1025         rc = Msg.ReqParms.uContext.GetUInt32(&pCtx->uContextID);
     1025        rc = Msg.ReqParms.uContext.GetUInt64(&pCtx->uContextID);
    10261026        if (RT_SUCCESS(rc))
    10271027            rc = Msg.ReqParms.uHandle.GetUInt64(phList);
     
    10541054                       VBOX_SHCL_GUEST_FN_LIST_HDR_WRITE, VBOX_SHCL_CPARMS_LIST_HDR);
    10551055
    1056     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     1056    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    10571057    Msg.ReqParms.uHandle.SetUInt64(hList);
    10581058    Msg.ReqParms.fFlags.SetUInt32(0);
     
    10891089                       VBOX_SHCL_GUEST_FN_LIST_ENTRY_READ, VBOX_SHCL_CPARMS_LIST_ENTRY);
    10901090
    1091     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     1091    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    10921092    Msg.ReqParms.uHandle.SetUInt64(hList);
    10931093    Msg.ReqParms.fInfo.SetUInt32(0);
     
    11271127                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_LIST_ENTRY_READ);
    11281128
    1129     Msg.ReqParms.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_ENTRY_READ);
     1129    Msg.ReqParms.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_LIST_ENTRY_READ);
    11301130    Msg.ReqParms.uHandle.SetUInt64(0);
    11311131    Msg.ReqParms.fInfo.SetUInt32(0);
     
    11341134    if (RT_SUCCESS(rc))
    11351135    {
    1136         rc = Msg.ReqParms.uContext.GetUInt32(&pCtx->uContextID);
     1136        rc = Msg.ReqParms.uContext.GetUInt64(&pCtx->uContextID);
    11371137        if (RT_SUCCESS(rc))
    11381138            rc = Msg.ReqParms.uHandle.GetUInt64(phList); AssertRC(rc);
     
    11651165                       VBOX_SHCL_GUEST_FN_LIST_ENTRY_WRITE, VBOX_SHCL_CPARMS_LIST_ENTRY);
    11661166
    1167     Msg.ReqParms.uContext.SetUInt32(pCtx->uContextID);
     1167    Msg.ReqParms.uContext.SetUInt64(pCtx->uContextID);
    11681168    Msg.ReqParms.uHandle.SetUInt64(hList);
    11691169    Msg.ReqParms.fInfo.SetUInt32(pListEntry->fInfo);
     
    11971197                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_OBJ_OPEN);
    11981198
    1199     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_OPEN);
     1199    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_OPEN);
    12001200    Msg.uHandle.SetUInt64(0);
    12011201    Msg.cbPath.SetUInt32(pCreateParms->cbPath);
     
    12061206    if (RT_SUCCESS(rc))
    12071207    {
    1208         rc = Msg.uContext.GetUInt32(&pCtx->uContextID);
     1208        rc = Msg.uContext.GetUInt64(&pCtx->uContextID);
    12091209        if (RT_SUCCESS(rc))
    12101210            rc = Msg.cbPath.GetUInt32(&pCreateParms->cbPath);
     
    12351235                       VBOX_SHCL_GUEST_FN_REPLY, VBOX_SHCL_CPARMS_REPLY_MIN + 1);
    12361236
    1237     Msg.uContext.SetUInt32(pCtx->uContextID);
     1237    Msg.uContext.SetUInt64(pCtx->uContextID);
    12381238    Msg.enmType.SetUInt32(VBOX_SHCL_REPLYMSGTYPE_OBJ_OPEN);
    12391239    Msg.rc.SetUInt32((uint32_t)rcReply); /** int vs. uint32_t */
     
    12701270                       VBOX_SHCL_GUEST_FN_OBJ_OPEN, VBOX_SHCL_CPARMS_OBJ_OPEN);
    12711271
    1272     Msg.uContext.SetUInt32(pCtx->uContextID);
     1272    Msg.uContext.SetUInt64(pCtx->uContextID);
    12731273    Msg.uHandle.SetUInt64(0);
    12741274    Msg.cbPath.SetUInt32(pCreateParms->cbPath);
     
    13041304                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_OBJ_CLOSE);
    13051305
    1306     Msg.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_CLOSE);
     1306    Msg.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_CLOSE);
    13071307    Msg.uHandle.SetUInt64(0);
    13081308
     
    13101310    if (RT_SUCCESS(rc))
    13111311    {
    1312         rc = Msg.uContext.GetUInt32(&pCtx->uContextID);
     1312        rc = Msg.uContext.GetUInt64(&pCtx->uContextID);
    13131313        if (RT_SUCCESS(rc))
    13141314            rc = Msg.uHandle.GetUInt64(phObj);
     
    13371337                       VBOX_SHCL_GUEST_FN_REPLY, VBOX_SHCL_CPARMS_REPLY_MIN + 1);
    13381338
    1339     Msg.uContext.SetUInt32(pCtx->uContextID);
     1339    Msg.uContext.SetUInt64(pCtx->uContextID);
    13401340    Msg.enmType.SetUInt32(VBOX_SHCL_REPLYMSGTYPE_OBJ_CLOSE);
    13411341    Msg.rc.SetUInt32((uint32_t)rcReply); /** int vs. uint32_t */
     
    13681368                       VBOX_SHCL_GUEST_FN_OBJ_CLOSE, VBOX_SHCL_CPARMS_OBJ_CLOSE);
    13691369
    1370     Msg.uContext.SetUInt32(pCtx->uContextID);
     1370    Msg.uContext.SetUInt64(pCtx->uContextID);
    13711371    Msg.uHandle.SetUInt64(hObj);
    13721372
     
    14001400                       VBOX_SHCL_GUEST_FN_MSG_GET, VBOX_SHCL_CPARMS_OBJ_READ_REQ);
    14011401
    1402     Msg.ReqParms.uContext.SetUInt32(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_READ);
     1402    Msg.ReqParms.uContext.SetUInt64(VBOX_SHCL_HOST_MSG_TRANSFER_OBJ_READ);
    14031403    Msg.ReqParms.uHandle.SetUInt64(0);
    14041404    Msg.ReqParms.cbToRead.SetUInt32(0);
     
    14081408    if (RT_SUCCESS(rc))
    14091409    {
    1410         rc = Msg.ReqParms.uContext.GetUInt32(&pCtx->uContextID);
     1410        rc = Msg.ReqParms.uContext.GetUInt64(&pCtx->uContextID);
    14111411        if (RT_SUCCESS(rc))
    14121412            rc = Msg.ReqParms.uHandle.GetUInt64(phObj);
     
    14451445                       VBOX_SHCL_GUEST_FN_OBJ_READ, VBOX_SHCL_CPARMS_OBJ_READ);
    14461446
    1447     Msg.uContext.SetUInt32(pCtx->uContextID);
     1447    Msg.uContext.SetUInt64(pCtx->uContextID);
    14481448    Msg.uHandle.SetUInt64(hObj);
    14491449    Msg.cbData.SetUInt32(cbData);
     
    14921492                       VBOX_SHCL_GUEST_FN_OBJ_WRITE, VBOX_SHCL_CPARMS_OBJ_WRITE);
    14931493
    1494     Msg.uContext.SetUInt32(pCtx->uContextID);
     1494    Msg.uContext.SetUInt64(pCtx->uContextID);
    14951495    Msg.uHandle.SetUInt64(hObj);
    14961496    Msg.pvData.SetPtr(pvData, cbData);
     
    22282228        VBGL_HGCM_HDR_INIT(&Msg.hdr, pCtx->uClientID, VBOX_SHCL_GUEST_FN_FORMATS_REPORT, 3);
    22292229
    2230         Msg.u.v1.uContext.SetUInt32(pCtx->uContextID);
     2230        Msg.u.v1.uContext.SetUInt64(pCtx->uContextID);
    22312231        Msg.u.v1.uFormats.SetUInt32(pFormats->uFormats);
    22322232        Msg.u.v1.fFlags.SetUInt32(pFormats->fFlags);
     
    23252325        LogFlowFunc(("CID=%RU32\n", pCtx->uContextID));
    23262326
    2327         Msg.u.v1.uContext.SetUInt32(pCtx->uContextID);
     2327        Msg.u.v1.uContext.SetUInt64(pCtx->uContextID);
    23282328        Msg.u.v1.uFormat.SetUInt32(pData->uFormat);
    23292329        Msg.u.v1.cbData.SetUInt32(pData->cbData);
     
    23542354
    23552355    /** @todo Context ID not used yet. */
    2356     Msg.uContext.SetUInt32(0);
     2356    Msg.uContext.SetUInt64(0);
    23572357    Msg.rc.SetUInt32((uint32_t)rcErr); /* uint32_t vs. int. */
    23582358
  • trunk/src/VBox/GuestHost/SharedClipboard/clipboard-common.cpp

    r81286 r81346  
    104104    AssertPtrReturn(pEvent, VERR_INVALID_POINTER);
    105105
    106     LogFlowFunc(("Event %RU16\n", uID));
     106    LogFlowFunc(("Event %RU32\n", uID));
    107107
    108108    int rc = RTSemEventCreate(&pEvent->hEventSem);
     
    126126        return;
    127127
    128     LogFlowFunc(("Event %RU16\n", pEvent->uID));
     128    LogFlowFunc(("Event %RU32\n", pEvent->uID));
    129129
    130130    if (pEvent->hEventSem != NIL_RTSEMEVENT)
     
    150150    AssertPtrReturn(pSource, VERR_INVALID_POINTER);
    151151
    152     LogFlowFunc(("pSource=%p, uID=%RU16\n", pSource, uID));
     152    LogFlowFunc(("pSource=%p, uID=%RU32\n", pSource, uID));
    153153
    154154    int rc = VINF_SUCCESS;
     
    174174        return;
    175175
    176     LogFlowFunc(("ID=%RU16\n", pSource->uID));
     176    LogFlowFunc(("ID=%RU32\n", pSource->uID));
    177177
    178178    PSHCLEVENT pEvIt;
     
    202202    AssertPtrReturn(pSource, 0);
    203203
    204     LogFlowFunc(("uSource=%RU16: New event: %RU16\n", pSource->uID, pSource->uEventIDNext));
     204    LogFlowFunc(("uSource=%RU16: New event: %RU32\n", pSource->uID, pSource->uEventIDNext));
    205205
    206206    pSource->uEventIDNext++;
     
    271271    int rc;
    272272
    273     LogFlowFunc(("uSource=%RU16, uEvent=%RU16\n", pSource->uID, uID));
     273    LogFlowFunc(("uSource=%RU16, uEvent=%RU32\n", pSource->uID, uID));
    274274
    275275    if (shclEventGet(pSource, uID) == NULL)
     
    284284                RTListAppend(&pSource->lstEvents, &pEvent->Node);
    285285
    286                 LogFlowFunc(("Event %RU16\n", uID));
     286                LogFlowFunc(("Event %RU32\n", uID));
    287287            }
    288288        }
     
    314314    int rc;
    315315
    316     LogFlowFunc(("uSource=%RU16, uEvent=%RU16\n", pSource->uID, uID));
     316    LogFlowFunc(("uSource=%RU16, uEvent=%RU32\n", pSource->uID, uID));
    317317
    318318    PSHCLEVENT pEvent = shclEventGet(pSource, uID);
    319319    if (pEvent)
    320320    {
    321         LogFlowFunc(("Event %RU16\n", pEvent->uID));
     321        LogFlowFunc(("Event %RU32\n", pEvent->uID));
    322322
    323323        RTListNodeRemove(&pEvent->Node);
     
    394394    int rc;
    395395
    396     LogFlowFunc(("uSource=%RU16, uEvent=%RU16\n", pSource->uID, uID));
     396    LogFlowFunc(("uSource=%RU16, uEvent=%RU32\n", pSource->uID, uID));
    397397
    398398    PSHCLEVENT pEvent = shclEventGet(pSource, uID);
     
    423423    AssertPtrReturnVoid(pSource);
    424424
    425     LogFlowFunc(("uSource=%RU16, uEvent=%RU16\n", pSource->uID, uID));
     425    LogFlowFunc(("uSource=%RU16, uEvent=%RU32\n", pSource->uID, uID));
    426426
    427427    PSHCLEVENT pEvent = shclEventGet(pSource, uID);
     
    432432#ifdef DEBUG_andy
    433433    else
    434         AssertMsgFailed(("uSource=%RU16, uEvent=%RU16\n", pSource->uID, uID));
     434        AssertMsgFailed(("uSource=%RU16, uEvent=%RU32\n", pSource->uID, uID));
    435435#endif
    436436}
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-internal.h

    r81286 r81346  
    4949{
    5050    /** Context ID. */
    51     uint32_t uContextID;
     51    uint64_t uContextID;
    5252} SHCLMSGCTX, *PSHCLMSGCTX;
    5353
     
    8787    uint32_t                uClientID;
    8888    /** The client's session ID. */
    89     uint32_t                uSessionID;
     89    SHCLSESSIONID           uSessionID;
    9090    /** Optional protocol version the client uses. Set to 0 by default. */
    9191    uint32_t                uProtocolVer;
     
    9999typedef struct _SHCLCLIENTCMDCTX
    100100{
    101     uint32_t uContextID;
     101    uint64_t uContextID;
    102102} SHCLCLIENTCMDCTX, *PSHCLCLIENTCMDCTX;
    103103
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc-transfers.cpp

    r81325 r81346  
    126126        SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    127127
    128         HGCMSvcSetU32(&pMsgHdr->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     128        HGCMSvcSetU64(&pMsgHdr->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    129129                                                                     pCtx->pTransfer->State.uID, uEvent));
    130130        HGCMSvcSetU32(&pMsgHdr->paParms[1], 0 /* fRoots */);
     
    166166                                    uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    167167
    168                                     HGCMSvcSetU32(&pMsgEntry->paParms[0],
     168                                    HGCMSvcSetU64(&pMsgEntry->paParms[0],
    169169                                                  VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uClientID,
    170170                                                                                       pCtx->pTransfer->State.uID, uEvent));
     
    353353        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    354354
    355         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     355        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    356356                                                                  pCtx->pTransfer->State.uID, uEvent));
    357357        HGCMSvcSetU64(&pMsg->paParms[1], hList);
     
    414414        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    415415
    416         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     416        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    417417                                                                  pCtx->pTransfer->State.uID, uEvent));
    418418        HGCMSvcSetU64(&pMsg->paParms[1], hList);
     
    478478        const uint32_t cbPath = (uint32_t)strlen(pCreateParms->pszPath) + 1; /* Include terminating zero */
    479479
    480         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     480        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    481481                                                                  pCtx->pTransfer->State.uID, uEvent));
    482482        HGCMSvcSetU64(&pMsg->paParms[1], 0); /* uHandle */
     
    536536        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    537537
    538         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     538        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    539539                                                                  pCtx->pTransfer->State.uID, uEvent));
    540540        HGCMSvcSetU64(&pMsg->paParms[1], hObj);
     
    592592        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    593593
    594         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     594        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    595595                                                                  pCtx->pTransfer->State.uID, uEvent));
    596596        HGCMSvcSetU64(&pMsg->paParms[1], hObj);
     
    651651        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pCtx->pTransfer->Events);
    652652
    653         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     653        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    654654                                                                  pCtx->pTransfer->State.uID, uEvent));
    655655        HGCMSvcSetU64(&pMsg->paParms[1], hObj);
     
    984984    if (cParms == VBOX_SHCL_CPARMS_LIST_OPEN)
    985985    {
    986         HGCMSvcSetU32(&paParms[0], pMsgCtx->uContextID);
     986        HGCMSvcSetU64(&paParms[0], pMsgCtx->uContextID);
    987987        HGCMSvcSetU32(&paParms[1], pOpenParms->fList);
    988988        HGCMSvcSetU32(&paParms[2], pOpenParms->cbFilter);
     
    10171017    if (cParms == VBOX_SHCL_CPARMS_LIST_CLOSE)
    10181018    {
    1019         HGCMSvcSetU32(&paParms[0], pMsgCtx->uContextID);
     1019        HGCMSvcSetU64(&paParms[0], pMsgCtx->uContextID);
    10201020        HGCMSvcSetU64(&paParms[1], hList);
    10211021
     
    10871087        /** @todo Calculate header checksum. */
    10881088
    1089         HGCMSvcSetU32(&paParms[0], pMsgCtx->uContextID);
     1089        HGCMSvcSetU64(&paParms[0], pMsgCtx->uContextID);
    10901090        HGCMSvcSetU32(&paParms[1], pListHdr->fFeatures);
    10911091        HGCMSvcSetU32(&paParms[2], 0 /* Features, will be returned on success */);
     
    11671167        /** @todo Calculate chunk checksum. */
    11681168
    1169         HGCMSvcSetU32(&paParms[0], pMsgCtx->uContextID);
     1169        HGCMSvcSetU64(&paParms[0], pMsgCtx->uContextID);
    11701170        HGCMSvcSetU32(&paParms[1], pListEntry->fInfo);
    11711171        HGCMSvcSetU32(&paParms[2], pListEntry->cbInfo);
     
    12621262                    case VBOX_SHCL_REPLYMSGTYPE_OBJ_CLOSE:
    12631263                    {
    1264                         uint32_t uCID;
    1265                         rc = HGCMSvcGetU32(&paParms[0], &uCID);
     1264                        uint64_t uCID;
     1265                        rc = HGCMSvcGetU64(&paParms[0], &uCID);
    12661266                        if (RT_SUCCESS(rc))
    12671267                        {
    12681268                            const SHCLEVENTID uEvent = VBOX_SHCL_CONTEXTID_GET_EVENT(uCID);
    12691269
    1270                             LogFlowFunc(("uCID=%RU32 -> uEvent=%RU32\n", uCID, uEvent));
     1270                            LogFlowFunc(("uCID=%RU64 -> uEvent=%RU32\n", uCID, uEvent));
    12711271
    12721272                            rc = ShClEventSignal(&pTransfer->Events, uEvent, pPayload);
     
    13491349     * Pre-check: For certain messages we need to make sure that a (right) transfer is present.
    13501350     */
    1351     uint32_t      uCID      = 0; /* Context ID */
     1351    uint64_t      uCID      = 0; /* Context ID */
    13521352    PSHCLTRANSFER pTransfer = NULL;
    13531353
     
    13661366                break;
    13671367
    1368             rc = HGCMSvcGetU32(&paParms[0], &uCID);
     1368            rc = HGCMSvcGetU64(&paParms[0], &uCID);
    13691369            if (RT_FAILURE(rc))
    13701370                break;
     
    14051405            rootListHdr.cRoots = ShClTransferRootsCount(pTransfer);
    14061406
    1407             HGCMSvcSetU32(&paParms[0], 0 /* Context ID */);
     1407            HGCMSvcSetU64(&paParms[0], 0 /* Context ID */);
    14081408            HGCMSvcSetU32(&paParms[1], rootListHdr.fRoots);
    14091409            HGCMSvcSetU32(&paParms[2], rootListHdr.cRoots);
     
    19621962    const SHCLEVENTID uEvent = ShClEventIDGenerate(&pTransfer->Events);
    19631963
    1964     HGCMSvcSetU32(&pMsgReadData->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     1964    HGCMSvcSetU64(&pMsgReadData->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    19651965                                                                      pTransfer->State.uID, uEvent));
    19661966    HGCMSvcSetU32(&pMsgReadData->paParms[1], pTransfer->State.enmDir);
  • trunk/src/VBox/HostServices/SharedClipboard/VBoxSharedClipboardSvc.cpp

    r81329 r81346  
    890890        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pClient->Events);
    891891
    892         HGCMSvcSetU32(&pMsgReadData->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     892        HGCMSvcSetU64(&pMsgReadData->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    893893                                                                          pClient->Events.uID, uEvent));
    894894        HGCMSvcSetU32(&pMsgReadData->paParms[1], pDataReq->uFmt);
     
    965965        const SHCLEVENTID uEvent = ShClEventIDGenerate(&pClient->Events);
    966966
    967         HGCMSvcSetU32(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
     967        HGCMSvcSetU64(&pMsg->paParms[0], VBOX_SHCL_CONTEXTID_MAKE(pClient->State.uSessionID,
    968968                                                                  pClient->Events.uID, uEvent));
    969969        HGCMSvcSetU32(&pMsg->paParms[1], pFormats->uFormats);
     
    10421042            rc = VERR_INVALID_PARAMETER;
    10431043        }
    1044         else if (   paParms[0].type != VBOX_HGCM_SVC_PARM_32BIT   /* uContext */
     1044        else if (   paParms[0].type != VBOX_HGCM_SVC_PARM_64BIT   /* uContext */
    10451045                 || paParms[1].type != VBOX_HGCM_SVC_PARM_32BIT   /* uFormat */
    10461046                 || paParms[2].type != VBOX_HGCM_SVC_PARM_32BIT   /* cbData */
     
    10511051        else
    10521052        {
    1053             rc = HGCMSvcGetU32(&paParms[0], &cmdCtx.uContextID);
     1053            rc = HGCMSvcGetU64(&paParms[0], &cmdCtx.uContextID);
    10541054            if (RT_SUCCESS(rc))
    10551055                rc = HGCMSvcGetU32(&paParms[1], &dataBlock.uFormat);
     
    13661366                    rc = VERR_INVALID_PARAMETER;
    13671367                }
    1368                 else if (   paParms[0].type != VBOX_HGCM_SVC_PARM_32BIT  /* uContextID */
     1368                else if (   paParms[0].type != VBOX_HGCM_SVC_PARM_64BIT  /* uContextID */
    13691369                         || paParms[1].type != VBOX_HGCM_SVC_PARM_32BIT  /* uFormats */
    13701370                         || paParms[2].type != VBOX_HGCM_SVC_PARM_32BIT) /* fFlags */
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