VirtualBox

Ignore:
Timestamp:
Jul 8, 2020 7:33:26 PM (4 years ago)
Author:
vboxsync
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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/3D/win/include/VBoxGaDriver.h

    r83832 r85121  
    3939    void *pvEnv;
    4040    /* The callbacks to use by the driver. */
    41     DECLCALLBACKMEMBER(uint32_t, pfnContextCreate)(void *pvEnv,
     41    DECLCALLBACKMEMBER(uint32_t, pfnContextCreate,(void *pvEnv,
    4242                                                   boolean extended,
    43                                                    boolean vgpu10);
    44     DECLCALLBACKMEMBER(void, pfnContextDestroy)(void *pvEnv,
    45                                                 uint32_t u32Cid);
    46     DECLCALLBACKMEMBER(int, pfnSurfaceDefine)(void *pvEnv,
     43                                                   boolean vgpu10));
     44    DECLCALLBACKMEMBER(void, pfnContextDestroy,(void *pvEnv,
     45                                                uint32_t u32Cid));
     46    DECLCALLBACKMEMBER(int, pfnSurfaceDefine,(void *pvEnv,
    4747                                              GASURFCREATE *pCreateParms,
    4848                                              GASURFSIZE *paSizes,
    4949                                              uint32_t cSizes,
    50                                               uint32_t *pu32Sid);
    51     DECLCALLBACKMEMBER(void, pfnSurfaceDestroy)(void *pvEnv,
    52                                                 uint32_t u32Sid);
    53     DECLCALLBACKMEMBER(int, pfnRender)(void *pvEnv,
     50                                              uint32_t *pu32Sid));
     51    DECLCALLBACKMEMBER(void, pfnSurfaceDestroy,(void *pvEnv,
     52                                                uint32_t u32Sid));
     53    DECLCALLBACKMEMBER(int, pfnRender,(void *pvEnv,
    5454                                       uint32_t u32Cid,
    5555                                       void *pvCommands,
    5656                                       uint32_t cbCommands,
    57                                        GAFENCEQUERY *pFenceQuery);
    58     DECLCALLBACKMEMBER(void, pfnFenceUnref)(void *pvEnv,
    59                                             uint32_t u32FenceHandle);
    60     DECLCALLBACKMEMBER(int, pfnFenceQuery)(void *pvEnv,
     57                                       GAFENCEQUERY *pFenceQuery));
     58    DECLCALLBACKMEMBER(void, pfnFenceUnref,(void *pvEnv,
     59                                            uint32_t u32FenceHandle));
     60    DECLCALLBACKMEMBER(int, pfnFenceQuery,(void *pvEnv,
    6161                                           uint32_t u32FenceHandle,
    62                                            GAFENCEQUERY *pFenceQuery);
    63     DECLCALLBACKMEMBER(int, pfnFenceWait)(void *pvEnv,
     62                                           GAFENCEQUERY *pFenceQuery));
     63    DECLCALLBACKMEMBER(int, pfnFenceWait,(void *pvEnv,
    6464                                          uint32_t u32FenceHandle,
    65                                           uint32_t u32TimeoutUS);
    66     DECLCALLBACKMEMBER(int, pfnRegionCreate)(void *pvEnv,
     65                                          uint32_t u32TimeoutUS));
     66    DECLCALLBACKMEMBER(int, pfnRegionCreate,(void *pvEnv,
    6767                                             uint32_t u32RegionSize,
    6868                                             uint32_t *pu32GmrId,
    69                                              void **ppvMap);
    70     DECLCALLBACKMEMBER(void, pfnRegionDestroy)(void *pvEnv,
     69                                             void **ppvMap));
     70    DECLCALLBACKMEMBER(void, pfnRegionDestroy,(void *pvEnv,
    7171                                               uint32_t u32GmrId,
    72                                                void *pvMap);
     72                                               void *pvMap));
    7373} WDDMGalliumDriverEnv;
    7474
Note: See TracChangeset for help on using the changeset viewer.

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