VirtualBox

Changeset 58257 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Oct 15, 2015 8:31:46 AM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
103438
Message:

DnD: Added context IDs for all HGCM messages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/HostServices/DragAndDropSvc.h

    r58231 r58257  
    4444 *
    4545 *     Protocol v3 (VBox 5.0+):
     46             Added context IDs for every HGCM message. Not used yet and must be 0.
    4647 *         - Added VBOXDNDSNDDATAHDR and VBOXDNDCBSNDDATAHDRDATA to support (simple) accounting of objects
    4748 *           being transferred, along with supplying separate meta data size (which is part of the total size being sent).
     
    276277    VBoxGuestHGCMCallInfo hdr;
    277278
    278     HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
    279     HGCMFunctionParameter uX;           /* OUT uint32_t */
    280     HGCMFunctionParameter uY;           /* OUT uint32_t */
    281     HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
    282     HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
    283     HGCMFunctionParameter pvFormats;    /* OUT ptr */
    284     HGCMFunctionParameter cFormats;     /* OUT uint32_t */
     279    union
     280    {
     281        struct
     282        {
     283            HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
     284            HGCMFunctionParameter uX;           /* OUT uint32_t */
     285            HGCMFunctionParameter uY;           /* OUT uint32_t */
     286            HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
     287            HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
     288            HGCMFunctionParameter pvFormats;    /* OUT ptr */
     289            HGCMFunctionParameter cFormats;     /* OUT uint32_t */
     290        } v1;
     291        struct
     292        {
     293            /** Context ID. */
     294            HGCMFunctionParameter uContext;
     295            HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
     296            HGCMFunctionParameter uX;           /* OUT uint32_t */
     297            HGCMFunctionParameter uY;           /* OUT uint32_t */
     298            HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
     299            HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
     300            HGCMFunctionParameter pvFormats;    /* OUT ptr */
     301            HGCMFunctionParameter cFormats;     /* OUT uint32_t */
     302        } v3;
     303    } u;
    285304} VBOXDNDHGACTIONMSG;
    286305
     
    294313{
    295314    VBoxGuestHGCMCallInfo hdr;
     315    union
     316    {
     317        struct
     318        {
     319            /** Context ID. */
     320            HGCMFunctionParameter uContext;
     321        } v3;
     322    } u;
    296323} VBOXDNDHGLEAVEMSG;
    297324
    298 
    299325/**
    300326 * Tells the guest that the host wants to cancel the current drag and drop operation.
     
    306332{
    307333    VBoxGuestHGCMCallInfo hdr;
     334    union
     335    {
     336        struct
     337        {
     338            /** Context ID. */
     339            HGCMFunctionParameter uContext;
     340        } v3;
     341    } u;
    308342} VBOXDNDHGCANCELMSG;
    309343
     
    418452    VBoxGuestHGCMCallInfo hdr;
    419453
    420     /** Directory name. */
    421     HGCMFunctionParameter pvName;       /* OUT ptr */
    422     /** Size (in bytes) of directory name. */
    423     HGCMFunctionParameter cbName;       /* OUT uint32_t */
    424     /** Directory mode. */
    425     HGCMFunctionParameter fMode;        /* OUT uint32_t */
     454    union
     455    {
     456        struct
     457        {
     458            /** Directory name. */
     459            HGCMFunctionParameter pvName;       /* OUT ptr */
     460            /** Size (in bytes) of directory name. */
     461            HGCMFunctionParameter cbName;       /* OUT uint32_t */
     462            /** Directory mode. */
     463            HGCMFunctionParameter fMode;        /* OUT uint32_t */
     464        } v1;
     465        struct
     466        {
     467            /** Context ID. Unused at the moment. */
     468            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     469            /** Directory name. */
     470            HGCMFunctionParameter pvName;       /* OUT ptr */
     471            /** Size (in bytes) of directory name. */
     472            HGCMFunctionParameter cbName;       /* OUT uint32_t */
     473            /** Directory mode. */
     474            HGCMFunctionParameter fMode;        /* OUT uint32_t */
     475        } v3;
     476    } u;
    426477} VBOXDNDHGSENDDIRMSG;
    427478
     
    518569    VBoxGuestHGCMCallInfo hdr;
    519570
    520     /** Screen ID. */
    521     HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
     571    union
     572    {
     573        struct
     574        {
     575            /** Screen ID. */
     576            HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
     577        } v1;
     578        struct
     579        {
     580            /** Context ID. Unused at the moment. */
     581            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     582            /** Screen ID. */
     583            HGCMFunctionParameter uScreenId;    /* OUT uint32_t */
     584        } v3;
     585    } u;
    522586} VBOXDNDGHREQPENDINGMSG;
    523587
     
    533597    VBoxGuestHGCMCallInfo hdr;
    534598
    535     /** Requested format for sending the data. */
    536     HGCMFunctionParameter pvFormat;     /* OUT ptr */
    537     /** Size (in bytes) of requested format. */
    538     HGCMFunctionParameter cbFormat;     /* OUT uint32_t */
    539     /** Drop action peformed on the host. */
    540     HGCMFunctionParameter uAction;      /* OUT uint32_t */
     599    union
     600    {
     601        struct
     602        {
     603            /** Requested format for sending the data. */
     604            HGCMFunctionParameter pvFormat;     /* OUT ptr */
     605            /** Size (in bytes) of requested format. */
     606            HGCMFunctionParameter cbFormat;     /* OUT uint32_t */
     607            /** Drop action peformed on the host. */
     608            HGCMFunctionParameter uAction;      /* OUT uint32_t */
     609        } v1;
     610        struct
     611        {
     612            /** Context ID. Unused at the moment. */
     613            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     614            /** Requested format for sending the data. */
     615            HGCMFunctionParameter pvFormat;     /* OUT ptr */
     616            /** Size (in bytes) of requested format. */
     617            HGCMFunctionParameter cbFormat;     /* OUT uint32_t */
     618            /** Drop action peformed on the host. */
     619            HGCMFunctionParameter uAction;      /* OUT uint32_t */
     620        } v3;
     621    } u;
    541622} VBOXDNDGHDROPPEDMSG;
    542623
     
    546627
    547628/**
    548  * The returned command the host wants to
    549  * run on the guest.
     629 * Asks the host for the next command to process, along
     630 * with the needed amount of parameters and an optional blocking
     631 * flag.
    550632 *
    551633 * Used by:
     
    576658    VBoxGuestHGCMCallInfo hdr;
    577659
    578     /** Protocol version to use. */
    579     HGCMFunctionParameter uProtocol;     /* OUT uint32_t */
    580     /** Connection flags. Optional. */
    581     HGCMFunctionParameter uFlags;        /* OUT uint32_t */
     660    union
     661    {
     662        struct
     663        {
     664            /** Protocol version to use. */
     665            HGCMFunctionParameter uProtocol;     /* OUT uint32_t */
     666            /** Connection flags. Optional. */
     667            HGCMFunctionParameter uFlags;        /* OUT uint32_t */
     668        } v2;
     669        struct
     670        {
     671            /** Context ID. Unused at the moment. */
     672            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     673            /** Protocol version to use. */
     674            HGCMFunctionParameter uProtocol;     /* OUT uint32_t */
     675            /** Connection flags. Optional. */
     676            HGCMFunctionParameter uFlags;        /* OUT uint32_t */
     677        } v3;
     678    } u;
    582679} VBOXDNDCONNECTMSG;
    583680
     
    592689    VBoxGuestHGCMCallInfo hdr;
    593690
    594     HGCMFunctionParameter uAction;      /* OUT uint32_t */
     691    union
     692    {
     693        struct
     694        {
     695            HGCMFunctionParameter uAction;      /* OUT uint32_t */
     696        } v1;
     697        struct
     698        {
     699            /** Context ID. Unused at the moment. */
     700            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     701            HGCMFunctionParameter uAction;      /* OUT uint32_t */
     702        } v3;
     703    } u;
    595704} VBOXDNDHGACKOPMSG;
    596705
     
    605714    VBoxGuestHGCMCallInfo hdr;
    606715
    607     HGCMFunctionParameter pFormat;      /* OUT ptr */
     716    union
     717    {
     718        struct
     719        {
     720            HGCMFunctionParameter pvFormat;     /* OUT ptr */
     721        } v1;
     722        struct
     723        {
     724            /** Context ID. Unused at the moment. */
     725            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     726            HGCMFunctionParameter pvFormat;     /* OUT ptr */
     727            HGCMFunctionParameter cbFormat;     /* OUT uint32_t */
     728        } v3;
     729    } u;
    608730} VBOXDNDHGREQDATAMSG;
    609731
     
    612734    VBoxGuestHGCMCallInfo hdr;
    613735
    614     HGCMFunctionParameter uStatus;
    615     HGCMFunctionParameter uPercent;
    616     HGCMFunctionParameter rc;
     736    union
     737    {
     738        struct
     739        {
     740            HGCMFunctionParameter uStatus;      /* OUT uint32_t */
     741            HGCMFunctionParameter uPercent;     /* OUT uint32_t */
     742            HGCMFunctionParameter rc;           /* OUT uint32_t */
     743        } v1;
     744        struct
     745        {
     746            /** Context ID. Unused at the moment. */
     747            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     748            HGCMFunctionParameter uStatus;      /* OUT uint32_t */
     749            HGCMFunctionParameter uPercent;     /* OUT uint32_t */
     750            HGCMFunctionParameter rc;           /* OUT uint32_t */
     751        } v3;
     752    } u;
    617753} VBOXDNDHGEVTPROGRESSMSG;
    618754
     
    628764    VBoxGuestHGCMCallInfo hdr;
    629765
    630     HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
    631     HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
    632     HGCMFunctionParameter pFormat;      /* OUT ptr */
     766    union
     767    {
     768        struct
     769        {
     770            HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
     771            HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
     772            HGCMFunctionParameter pvFormats;    /* OUT ptr */
     773        } v1;
     774        struct
     775        {
     776            /** Context ID. Unused at the moment. */
     777            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     778            HGCMFunctionParameter uDefAction;   /* OUT uint32_t */
     779            HGCMFunctionParameter uAllActions;  /* OUT uint32_t */
     780            HGCMFunctionParameter pvFormats;    /* OUT ptr */
     781            HGCMFunctionParameter cbFormats;    /* OUT uint32_t */
     782        } v3;
     783    } u;
    633784} VBOXDNDGHACKPENDINGMSG;
    634785
     
    716867    VBoxGuestHGCMCallInfo hdr;
    717868
    718     HGCMFunctionParameter rc;               /* OUT uint32_t */
     869    union
     870    {
     871        struct
     872        {
     873            HGCMFunctionParameter rc;           /* OUT uint32_t */
     874        } v1;
     875        struct
     876        {
     877            /** Context ID. Unused at the moment. */
     878            HGCMFunctionParameter uContext;     /* OUT uint32_t */
     879            HGCMFunctionParameter rc;           /* OUT uint32_t */
     880        } v3;
     881    } u;
    719882} VBOXDNDGHEVTERRORMSG;
    720883
     
    748911{
    749912    /** Magic number to identify the structure. */
    750     uint32_t                    u32Magic;
     913    uint32_t                    uMagic;
    751914    /** Context ID to identify callback data. */
    752     uint32_t                    u32ContextID;
     915    uint32_t                    uContextID;
    753916} VBOXDNDCBHEADERDATA, *PVBOXDNDCBHEADERDATA;
    754917
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