VirtualBox

Changeset 85121 in vbox for trunk/include/VBox/Graphics


Ignore:
Timestamp:
Jul 8, 2020 7:33:26 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
139061
Message:

iprt/cdefs.h: Refactored the typedef use of DECLCALLBACK as well as DECLCALLBACKMEMBER to wrap the whole expression, similar to the DECLR?CALLBACKMEMBER macros. This allows adding a throw() at the end when compiling with the VC++ compiler to indicate that the callbacks won't throw anything, so we can stop supressing the C5039 warning about passing functions that can potential throw C++ exceptions to extern C code that can't necessarily cope with such (unwind,++). Introduced a few _EX variations that allows specifying different/no calling convention too, as that's handy when dynamically resolving host APIs. Fixed numerous places missing DECLCALLBACK and such. Left two angry @todos regarding use of CreateThread. bugref:9794

Location:
trunk/include/VBox/Graphics
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/Graphics/HGSMI.h

    r82968 r85121  
    9696 * @thread  EMT on the host side.
    9797 */
    98 typedef DECLCALLBACK(int) FNHGSMICHANNELHANDLER(void *pvHandler, uint16_t u16ChannelInfo,
    99                                                 RT_UNTRUSTED_VOLATILE_HSTGST void *pvBuffer, HGSMISIZE cbBuffer);
     98typedef DECLCALLBACKTYPE(int, FNHGSMICHANNELHANDLER,(void *pvHandler, uint16_t u16ChannelInfo,
     99                                                     RT_UNTRUSTED_VOLATILE_HSTGST void *pvBuffer, HGSMISIZE cbBuffer));
    100100/** Pointer to a channel handler callback. */
    101101typedef FNHGSMICHANNELHANDLER *PFNHGSMICHANNELHANDLER;
  • trunk/include/VBox/Graphics/HGSMIDefs.h

    r82968 r85121  
    119119
    120120    /* Allocate system memory. */
    121     DECLCALLBACKMEMBER(void *, pfnAlloc)(void *pvEnv, HGSMISIZE cb);
     121    DECLCALLBACKMEMBER(void *, pfnAlloc,(void *pvEnv, HGSMISIZE cb));
    122122
    123123    /* Free system memory. */
    124     DECLCALLBACKMEMBER(void, pfnFree)(void *pvEnv, void *pv);
     124    DECLCALLBACKMEMBER(void, pfnFree,(void *pvEnv, void *pv));
    125125} HGSMIENV;
    126126
  • trunk/include/VBox/Graphics/VBoxUhgsmi.h

    r82968 r85121  
    7777/* the caller can specify NULL as a hSynch and specify a valid enmSynchType to make UHGSMI create a proper object itself,
    7878 *  */
    79 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_CREATE(PVBOXUHGSMI pHgsmi, uint32_t cbBuf, VBOXUHGSMI_BUFFER_TYPE_FLAGS fType, PVBOXUHGSMI_BUFFER* ppBuf);
     79typedef DECLCALLBACKTYPE(int, FNVBOXUHGSMI_BUFFER_CREATE,(PVBOXUHGSMI pHgsmi, uint32_t cbBuf, VBOXUHGSMI_BUFFER_TYPE_FLAGS fType,
     80                                                          PVBOXUHGSMI_BUFFER* ppBuf));
    8081typedef FNVBOXUHGSMI_BUFFER_CREATE *PFNVBOXUHGSMI_BUFFER_CREATE;
    8182
     
    8889} VBOXUHGSMI_BUFFER_SUBMIT, *PVBOXUHGSMI_BUFFER_SUBMIT;
    8990
    90 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_SUBMIT(PVBOXUHGSMI pHgsmi, PVBOXUHGSMI_BUFFER_SUBMIT aBuffers, uint32_t cBuffers);
     91typedef DECLCALLBACKTYPE(int, FNVBOXUHGSMI_BUFFER_SUBMIT,(PVBOXUHGSMI pHgsmi, PVBOXUHGSMI_BUFFER_SUBMIT aBuffers,
     92                                                          uint32_t cBuffers));
    9193typedef FNVBOXUHGSMI_BUFFER_SUBMIT *PFNVBOXUHGSMI_BUFFER_SUBMIT;
    9294
    93 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_DESTROY(PVBOXUHGSMI_BUFFER pBuf);
     95typedef DECLCALLBACKTYPE(int, FNVBOXUHGSMI_BUFFER_DESTROY,(PVBOXUHGSMI_BUFFER pBuf));
    9496typedef FNVBOXUHGSMI_BUFFER_DESTROY *PFNVBOXUHGSMI_BUFFER_DESTROY;
    9597
    96 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_LOCK(PVBOXUHGSMI_BUFFER pBuf, uint32_t offLock, uint32_t cbLock, VBOXUHGSMI_BUFFER_LOCK_FLAGS fFlags, void**pvLock);
     98typedef DECLCALLBACKTYPE(int, FNVBOXUHGSMI_BUFFER_LOCK,(PVBOXUHGSMI_BUFFER pBuf, uint32_t offLock, uint32_t cbLock,
     99                                                        VBOXUHGSMI_BUFFER_LOCK_FLAGS fFlags, void**pvLock));
    97100typedef FNVBOXUHGSMI_BUFFER_LOCK *PFNVBOXUHGSMI_BUFFER_LOCK;
    98101
    99 typedef DECLCALLBACK(int) FNVBOXUHGSMI_BUFFER_UNLOCK(PVBOXUHGSMI_BUFFER pBuf);
     102typedef DECLCALLBACKTYPE(int, FNVBOXUHGSMI_BUFFER_UNLOCK,(PVBOXUHGSMI_BUFFER pBuf));
    100103typedef FNVBOXUHGSMI_BUFFER_UNLOCK *PFNVBOXUHGSMI_BUFFER_UNLOCK;
    101104
  • trunk/include/VBox/Graphics/VBoxVideo.h

    r82968 r85121  
    859859} VBOXVHWACMD_HH_SAVESTATE_LOADPERFORM;
    860860
    861 typedef DECLCALLBACK(void) FNVBOXVHWA_HH_CALLBACK(void*);
     861typedef DECLCALLBACKTYPE(void, FNVBOXVHWA_HH_CALLBACK,(void *));
    862862typedef FNVBOXVHWA_HH_CALLBACK *PFNVBOXVHWA_HH_CALLBACK;
    863863
  • trunk/include/VBox/Graphics/VBoxVideo3D.h

    r84740 r85121  
    5050#endif
    5151
    52 typedef DECLCALLBACK(void) FNVBOXTLSREFDTOR(void*);
     52typedef DECLCALLBACKTYPE(void, FNVBOXTLSREFDTOR,(void *));
    5353typedef FNVBOXTLSREFDTOR *PFNVBOXTLSREFDTOR;
    5454
  • trunk/include/VBox/Graphics/VBoxVideoGuest.h

    r82968 r85121  
    145145 * @todo  explicitly pass the array size
    146146 */
    147 typedef DECLCALLBACK(int) FNHGSMIFILLVIEWINFO(void *pvData,
    148                                               struct VBVAINFOVIEW *pInfo,
    149                                               uint32_t cViews);
     147typedef DECLCALLBACKTYPE(int, FNHGSMIFILLVIEWINFO,(void *pvData, struct VBVAINFOVIEW *pInfo, uint32_t cViews));
    150148/** Pointer to a FNHGSMIFILLVIEWINFO callback */
    151149typedef FNHGSMIFILLVIEWINFO *PFNHGSMIFILLVIEWINFO;
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