VirtualBox

Changeset 25974 in vbox


Ignore:
Timestamp:
Jan 22, 2010 2:49:05 PM (15 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
56833
Message:

pdmifs.h: another batch of _IID changes.

Location:
trunk
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmifs.h

    r25971 r25974  
    4646 * @{
    4747 */
    48 /** PDMISTREAM              - The stream driver interface           (Up)    No coupling.
    49  * Used by a char driver to implement PDMINTERFACE_CHAR. */
    50 #define PDMINTERFACE_STREAM                     "d1a5bf5e-3d2c-449a-bde9-addd7920b71f"
    51 /** PDMIBLOCKPORT           - The block notify interface            (Down)  Coupled with PDMINTERFACE_BLOCK. */
    52 #define PDMINTERFACE_BLOCK_PORT                 "e87fa1ab-92d5-4100-8712-fe2a0c042faf"
    53 /** PDMIBLOCK               - The block driver interface            (Up)    Coupled with PDMINTERFACE_BLOCK_PORT. */
    54 #define PDMINTERFACE_BLOCK                      "0a5f3156-8b21-4cf5-83fd-e097281d2900"
    55 /** PDMIBLOCKBIOS           - The block bios interface.             (External) */
    56 #define PDMINTERFACE_BLOCK_BIOS                 "477c3eee-a48d-48a9-82fd-2a54de16b2e9"
    57 /** PDMIMOUNTNOTIFY         - The mountable notification interface. (Down)  Coupled with PDMINTERFACE_MOUNT. */
    58 #define PDMINTERFACE_MOUNT_NOTIFY               "fa143ac9-9fc6-498e-997f-945380a558f9"
    59 /** PDMIMOUNT               - The mountable interface.              (Up)    Coupled with PDMINTERFACE_MOUNT_NOTIFY. */
    60 #define PDMINTERFACE_MOUNT                      "8e5a009a-6032-4ca1-9d86-a388d8eaf926"
    61 /** PDMIMEDIA               - The media interface.                  (Up)    No coupling.
    62  * Used by a block unit driver to implement PDMINTERFACE_BLOCK and PDMINTERFACE_BLOCK_BIOS. */
    63 #define PDMINTERFACE_MEDIA                      "f5bb07c9-2843-46f8-a56f-cc090b6e5bac"
    6448/** PDMIISCSITRANSPORT      - The iSCSI transport interface         (Up)    No coupling.
    6549 * used by the iSCSI media driver.  */
     
    7155 * notify port used by the iSCSI media driver.  */
    7256#define PDMINTERFACE_ISCSITRANSPORTASYNCPORT    "6ab0fbf1-aa72-4b27-bc46-f58896ba0392"
    73 /** PDMIMEDIAASYNC          - Async version of the media interface  (Down)  Coupled with PDMINTERFACE_MEDIA_ASYNC_PORT. */
    74 #define PDMINTERFACE_MEDIA_ASYNC                "d7bc3c90-e686-4d9c-a7bc-6c6742e452ec"
    75 /** PDMIMEDIAASYNCPORT      - Async version of the media interface  (Up)    Coupled with PDMINTERFACE_MEDIA_ASYNC. */
    76 #define PDMINTERFACE_MEDIA_ASYNC_PORT           "22d38853-901f-4a71-9670-4d9da6e82317"
    77 /** PDMIBLOCKASYNC          - Async version of the block interface  (Down)  Coupled with PDMINTERFACE_BLOCK_ASYNC_PORT. */
    78 #define PDMINTERFACE_BLOCK_ASYNC                "142cd775-3be6-4c9f-9e3d-68969c3d4779"
    79 /** PDMIBLOCKASYNCPORT      - Async version of the block interface  (Up)    Coupled with PDMINTERFACE_BLOCK_ASYNC. */
    80 #define PDMINTERFACE_BLOCK_ASYNC_PORT           "e3bdc0cb-9d99-41dd-8eec-0dc8cf5b2a92"
    81 
    8257
    8358/** PDMINETWORKPORT         - The network port interface.           (Down)  Coupled with PDMINTERFACE_NETWORK_CONNECTOR. */
     
    164139 * @returns Correctly typed PDMIBASE::pfnQueryInterface return value.
    165140 *
    166  * @param    pIBase         Pointer to the base interface.
    167  * @param    InterfaceType  The interface type name.  The interface ID is
     141 * @param   pIBase          Pointer to the base interface.
     142 * @param   InterfaceType   The interface type name.  The interface ID is
    168143 *                          derived from this by appending _IID.
    169144 */
    170145#define PDMIBASE_QUERY_INTERFACE(pIBase, InterfaceType)  \
    171146    ( (InterfaceType *)(pIBase)->pfnQueryInterface(pIBase, InterfaceType##_IID ) )
     147
     148/**
     149 * Helper macro for implementing PDMIBASE::pfnQueryInterface.
     150 *
     151 * Return @a pInterface if @a pszIID matches the @a InterfaceType.  This will
     152 * perform basic type checking.
     153 *
     154 * @param   pszIID          The ID of the interface that is being queried.
     155 * @param   InterfaceType   The interface type name.  The interface ID is
     156 *                          derived from this by appending _IID.
     157 * @param   pInterface      The interface address expression.
     158 */
     159#define PDMIBASE_RETURN_INTERFACE(pszIID, InterfaceType, pInterface)  \
     160    do { \
     161        if (RTUuidCompare2Strs((pszIID), InterfaceType##_IID) == 0) \
     162        { \
     163            InterfaceType *pReturnInterfaceTypeCheck = (pInterface); \
     164            return pReturnInterfaceTypeCheck; \
     165        } \
     166    } while (0)
    172167
    173168
     
    654649/** PDMIDISPLAYCONNECTOR interface ID. */
    655650#define PDMIDISPLAYCONNECTOR_IID                "c7a1b36d-8dfc-421d-b71f-3a0eeaf733e6"
     651
     652
     653/**
     654 * Block notify interface (down).
     655 * Pair with PDMIBLOCK.
     656 */
     657typedef PDMIDUMMY PDMIBLOCKPORT;
     658/** PDMIBLOCKPORT interface ID. */
     659#define PDMIBLOCKPORT_IID                 "e87fa1ab-92d5-4100-8712-fe2a0c042faf"
     660/** Pointer to a block notify interface (dummy). */
     661typedef PDMIBLOCKPORT *PPDMIBLOCKPORT;
    656662
    657663
     
    692698} PDMBLOCKTXDIR;
    693699
    694 /**
    695  * Block notify interface.
    696  * Pair with PDMIBLOCK.
    697  */
    698 typedef PDMIDUMMY PDMIBLOCKPORT;
    699 /** Pointer to a block notify interface (dummy). */
    700 typedef PDMIBLOCKPORT *PPDMIBLOCKPORT;
    701700
    702701/** Pointer to a block interface. */
    703702typedef struct PDMIBLOCK *PPDMIBLOCK;
    704703/**
    705  * Block interface.
     704 * Block interface (up).
    706705 * Pair with PDMIBLOCKPORT.
    707706 */
     
    796795    DECLR3CALLBACKMEMBER(int, pfnGetUuid,(PPDMIBLOCK pInterface, PRTUUID pUuid));
    797796} PDMIBLOCK;
     797/** PDMIBLOCK interface ID. */
     798#define PDMIBLOCK_IID                           "0a5f3156-8b21-4cf5-83fd-e097281d2900"
    798799
    799800
     
    801802typedef struct PDMIMOUNTNOTIFY *PPDMIMOUNTNOTIFY;
    802803/**
    803  * Block interface.
     804 * Block interface (up).
    804805 * Pair with PDMIMOUNT.
    805806 */
     
    821822    DECLR3CALLBACKMEMBER(void, pfnUnmountNotify,(PPDMIMOUNTNOTIFY pInterface));
    822823} PDMIMOUNTNOTIFY;
    823 
    824 
    825 /* Pointer to mount interface. */
     824/** PDMIMOUNTNOTIFY interface ID. */
     825#define PDMIMOUNTNOTIFY_IID                     "fa143ac9-9fc6-498e-997f-945380a558f9"
     826
     827
     828/** Pointer to mount interface. */
    826829typedef struct PDMIMOUNT *PPDMIMOUNT;
    827830/**
    828  * Mount interface.
     831 * Mount interface (down).
    829832 * Pair with PDMIMOUNTNOTIFY.
    830833 */
     
    895898     */
    896899    DECLR3CALLBACKMEMBER(bool, pfnIsLocked,(PPDMIMOUNT pInterface));
    897 } PDMIBLOCKMOUNT;
     900} PDMIMOUNT;
     901/** PDMIMOUNT interface ID. */
     902#define PDMIMOUNT_IID                           "8e5a009a-6032-4ca1-9d86-a388d8eaf926"
     903
    898904
    899905/**
     
    918924typedef struct PDMIMEDIA *PPDMIMEDIA;
    919925/**
    920  * Media interface.
    921  * Makes up the foundation for PDMIBLOCK and PDMIBLOCKBIOS.
     926 * Media interface (up).
     927 * Makes up the foundation for PDMIBLOCK and PDMIBLOCKBIOS.  No interface pair.
    922928 */
    923929typedef struct PDMIMEDIA
     
    10401046
    10411047} PDMIMEDIA;
     1048/** PDMIMEDIA interface ID. */
     1049#define PDMIMEDIA_IID                           "f5bb07c9-2843-46f8-a56f-cc090b6e5bac"
    10421050
    10431051
     
    10451053typedef struct PDMIBLOCKBIOS *PPDMIBLOCKBIOS;
    10461054/**
    1047  * Media BIOS interface.
     1055 * Media BIOS interface (Up / External).
    10481056 * The interface the getting and setting properties which the BIOS/CMOS care about.
    10491057 */
     
    11241132
    11251133} PDMIBLOCKBIOS;
     1134/** PDMIBLOCKBIOS interface ID. */
     1135#define PDMIBLOCKBIOS_IID                       "477c3eee-a48d-48a9-82fd-2a54de16b2e9"
    11261136
    11271137
     
    13021312typedef struct PDMIBLOCKASYNCPORT *PPDMIBLOCKASYNCPORT;
    13031313/**
    1304  * Asynchronous block notify interface.
     1314 * Asynchronous block notify interface (up).
    13051315 * Pair with PDMIBLOCKASYNC.
    13061316 */
     
    13171327    DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIBLOCKASYNCPORT pInterface, void *pvUser));
    13181328} PDMIBLOCKASYNCPORT;
     1329/** PDMIBLOCKASYNCPORT interface ID. */
     1330#define PDMIBLOCKASYNCPORT_IID                  "e3bdc0cb-9d99-41dd-8eec-0dc8cf5b2a92"
     1331
    13191332
    13201333
     
    13221335typedef struct PDMIBLOCKASYNC *PPDMIBLOCKASYNC;
    13231336/**
    1324  * Asynchronous block interface.
     1337 * Asynchronous block interface (down).
    13251338 * Pair with PDMIBLOCKASYNCPORT.
    13261339 */
     
    13561369
    13571370} PDMIBLOCKASYNC;
     1371/** PDMIBLOCKASYNC interface ID. */
     1372#define PDMIBLOCKASYNC_IID                      "142cd775-3be6-4c9f-9e3d-68969c3d4779"
    13581373
    13591374
     
    13611376typedef struct PDMIMEDIAASYNCPORT *PPDMIMEDIAASYNCPORT;
    13621377/**
    1363  * Asynchronous media interface.
    1364  * Makes up the fundation for PDMIBLOCKASYNC and PDMIBLOCKBIOS.
     1378 * Asynchronous version of the media interface (up).
     1379 * Pair with PDMIMEDIAASYNC.
    13651380 */
    13661381typedef struct PDMIMEDIAASYNCPORT
     
    13761391    DECLR3CALLBACKMEMBER(int, pfnTransferCompleteNotify, (PPDMIMEDIAASYNCPORT pInterface, void *pvUser));
    13771392} PDMIMEDIAASYNCPORT;
     1393/** PDMIMEDIAASYNCPORT interface ID. */
     1394#define PDMIMEDIAASYNCPORT_IID                  "22d38853-901f-4a71-9670-4d9da6e82317"
    13781395
    13791396
     
    13811398typedef struct PDMIMEDIAASYNC *PPDMIMEDIAASYNC;
    13821399/**
    1383  * Asynchronous media interface.
    1384  * Makes up the fundation for PDMIBLOCKASYNC and PDMIBLOCKBIOS.
     1400 * Asynchronous version of PDMIMEDIA (down).
     1401 * Pair with PDMIMEDIAASYNCPORT.
    13851402 */
    13861403typedef struct PDMIMEDIAASYNC
     
    14151432
    14161433} PDMIMEDIAASYNC;
     1434/** PDMIMEDIAASYNC interface ID. */
     1435#define PDMIMEDIAASYNC_IID                      "d7bc3c90-e686-4d9c-a7bc-6c6742e452ec"
    14171436
    14181437
     
    15271546typedef struct PDMISTREAM *PPDMISTREAM;
    15281547/**
    1529  * Stream interface.
    1530  * Makes up the foundation for PDMICHARCONNECTOR.
     1548 * Stream interface (up).
     1549 * Makes up the foundation for PDMICHARCONNECTOR.  No pair interface.
    15311550 */
    15321551typedef struct PDMISTREAM
     
    15541573    DECLR3CALLBACKMEMBER(int, pfnWrite,(PPDMISTREAM pInterface, const void *pvBuf, size_t *cbWrite));
    15551574} PDMISTREAM;
     1575/** PDMISTREAM interface ID. */
     1576#define PDMISTREAM_IID                          "d1a5bf5e-3d2c-449a-bde9-addd7920b71f"
    15561577
    15571578
  • trunk/src/VBox/Devices/PC/DevPcBios.cpp

    r25780 r25974  
    283283    {
    284284        PPDMIBLOCK pBlock;
    285         pBlock = (PPDMIBLOCK)pBase->pfnQueryInterface(pBase, PDMINTERFACE_BLOCK);
     285        pBlock = PDMIBASE_QUERY_INTERFACE(pBase, PDMIBLOCK);
    286286        /* No LCHS geometry, autodetect and set. */
    287287        rc = biosGuessDiskLCHS(pBlock, &LCHSGeometry);
     
    470470        int rc = PDMR3QueryLun(pVM, pThis->pszFDDevice, 0, i, &pBase);
    471471        if (RT_SUCCESS(rc))
    472             apFDs[i] = (PPDMIBLOCKBIOS)pBase->pfnQueryInterface(pBase, PDMINTERFACE_BLOCK_BIOS);
     472            apFDs[i] = PDMIBASE_QUERY_INTERFACE(pBase, PDMIBLOCKBIOS);
    473473    }
    474474    u32 = 0;
     
    517517        int rc = PDMR3QueryLun(pVM, pThis->pszHDDevice, 0, i, &pBase);
    518518        if (RT_SUCCESS(rc))
    519             apHDs[i] = (PPDMIBLOCKBIOS)pBase->pfnQueryInterface(pBase, PDMINTERFACE_BLOCK_BIOS);
     519            apHDs[i] = PDMIBASE_QUERY_INTERFACE(pBase, PDMIBLOCKBIOS);
    520520        if (   apHDs[i]
    521521            && (   apHDs[i]->pfnGetType(apHDs[i]) != PDMBLOCKTYPE_HARD_DISK
     
    578578            int rc = PDMR3QueryLun(pVM, pThis->pszSataDevice, 0, pThis->iSataHDLUN[i], &pBase);
    579579            if (RT_SUCCESS(rc))
    580                 apHDs[i] = (PPDMIBLOCKBIOS)pBase->pfnQueryInterface(pBase, PDMINTERFACE_BLOCK_BIOS);
     580                apHDs[i] = PDMIBASE_QUERY_INTERFACE(pBase, PDMIBLOCKBIOS);
    581581            if (   apHDs[i]
    582582                && (   apHDs[i]->pfnGetType(apHDs[i]) != PDMBLOCKTYPE_HARD_DISK
  • trunk/src/VBox/Devices/Serial/DrvChar.cpp

    r25971 r25974  
    337337    if (RT_FAILURE(rc))
    338338        return rc; /* Don't call PDMDrvHlpVMSetError here as we assume that the driver already set an appropriate error */
    339     pThis->pDrvStream = (PPDMISTREAM)pBase->pfnQueryInterface(pBase, PDMINTERFACE_STREAM);
     339    pThis->pDrvStream = PDMIBASE_QUERY_INTERFACE(pBase, PDMISTREAM);
    340340    if (!pThis->pDrvStream)
    341341        return PDMDrvHlpVMSetError(pDrvIns, VERR_PDM_MISSING_INTERFACE_BELOW, RT_SRC_POS, N_("Char#%d has no stream interface below"), pDrvIns->iInstance);
  • trunk/src/VBox/Devices/Serial/DrvNamedPipe.cpp

    r25966 r25974  
    289289    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    290290        return &pDrvIns->IBase;
    291     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_STREAM) == 0)
    292         return &pThis->IStream;
     291    PDMIBASE_RETURN_INTERFACE(pszIID, PDMISTREAM, &pThis->IStream);
    293292    return NULL;
    294293}
  • trunk/src/VBox/Devices/Serial/DrvRawFile.cpp

    r25966 r25974  
    105105    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    106106        return &pDrvIns->IBase;
    107     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_STREAM) == 0)
    108         return &pThis->IStream;
     107    PDMIBASE_RETURN_INTERFACE(pszIID, PDMISTREAM, &pThis->IStream);
    109108    return NULL;
    110109}
  • trunk/src/VBox/Devices/Storage/ATAController.cpp

    r25900 r25974  
    50135013     * Query Block, Bios and Mount interfaces.
    50145014     */
    5015     pIf->pDrvBlock = (PDMIBLOCK *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_BLOCK);
     5015    pIf->pDrvBlock = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIBLOCK);
    50165016    if (!pIf->pDrvBlock)
    50175017    {
     
    50215021
    50225022    /** @todo implement the BIOS invisible code path. */
    5023     pIf->pDrvBlockBios = (PDMIBLOCKBIOS *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_BLOCK_BIOS);
     5023    pIf->pDrvBlockBios = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIBLOCKBIOS);
    50245024    if (!pIf->pDrvBlockBios)
    50255025    {
     
    50275027        return VERR_PDM_MISSING_INTERFACE;
    50285028    }
    5029     pIf->pDrvMount = (PDMIMOUNT *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_MOUNT);
     5029    pIf->pDrvMount = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIMOUNT);
    50305030
    50315031    /*
  • trunk/src/VBox/Devices/Storage/DevAHCI.cpp

    r25966 r25974  
    24062406    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    24072407        return &pAhciPort->IBase;
    2408     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_PORT) == 0)
    2409         return &pAhciPort->IPort;
    2410     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_ASYNC_PORT) == 0)
    2411         return &pAhciPort->IPortAsync;
    2412     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MOUNT_NOTIFY) == 0)
    2413         return &pAhciPort->IMountNotify;
     2408    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKPORT, &pAhciPort->IPort);
     2409    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKASYNCPORT, &pAhciPort->IPortAsync);
     2410    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMOUNTNOTIFY, &pAhciPort->IMountNotify);
    24142411    return NULL;
    24152412}
     
    61356132     * Query the block and blockbios interfaces.
    61366133     */
    6137     pAhciPort->pDrvBlock = (PDMIBLOCK *)pAhciPort->pDrvBase->pfnQueryInterface(pAhciPort->pDrvBase, PDMINTERFACE_BLOCK);
     6134    pAhciPort->pDrvBlock = PDMIBASE_QUERY_INTERFACE(pAhciPort->pDrvBase, PDMIBLOCK);
    61386135    if (!pAhciPort->pDrvBlock)
    61396136    {
     
    61416138        return VERR_PDM_MISSING_INTERFACE;
    61426139    }
    6143     pAhciPort->pDrvBlockBios = (PDMIBLOCKBIOS *)pAhciPort->pDrvBase->pfnQueryInterface(pAhciPort->pDrvBase, PDMINTERFACE_BLOCK_BIOS);
     6140    pAhciPort->pDrvBlockBios = PDMIBASE_QUERY_INTERFACE(pAhciPort->pDrvBase, PDMIBLOCKBIOS);
    61446141    if (!pAhciPort->pDrvBlockBios)
    61456142    {
     
    61486145    }
    61496146
    6150     pAhciPort->pDrvMount = (PDMIMOUNT *)pAhciPort->pDrvBase->pfnQueryInterface(pAhciPort->pDrvBase, PDMINTERFACE_MOUNT);
     6147    pAhciPort->pDrvMount = PDMIBASE_QUERY_INTERFACE(pAhciPort->pDrvBase, PDMIMOUNT);
    61516148
    61526149    /* Try to get the optional async block interface. */
    6153     pAhciPort->pDrvBlockAsync = (PDMIBLOCKASYNC *)pAhciPort->pDrvBase->pfnQueryInterface(pAhciPort->pDrvBase, PDMINTERFACE_BLOCK_ASYNC);
     6150    pAhciPort->pDrvBlockAsync = PDMIBASE_QUERY_INTERFACE(pAhciPort->pDrvBase, PDMIBLOCKASYNC);
    61546151
    61556152    /*
  • trunk/src/VBox/Devices/Storage/DevATA.cpp

    r25966 r25974  
    52815281    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    52825282        return &pIf->IBase;
    5283     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_PORT) == 0)
    5284         return &pIf->IPort;
    5285     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MOUNT_NOTIFY) == 0)
    5286         return &pIf->IMountNotify;
     5283    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKPORT, &pIf->IPort);
     5284    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMOUNTNOTIFY, &pIf->IMountNotify);
    52875285    return NULL;
    52885286}
     
    56965694     * Query Block, Bios and Mount interfaces.
    56975695     */
    5698     pIf->pDrvBlock = (PDMIBLOCK *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_BLOCK);
     5696    pIf->pDrvBlock = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIBLOCK);
    56995697    if (!pIf->pDrvBlock)
    57005698    {
     
    57045702
    57055703    /** @todo implement the BIOS invisible code path. */
    5706     pIf->pDrvBlockBios = (PDMIBLOCKBIOS *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_BLOCK_BIOS);
     5704    pIf->pDrvBlockBios = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIBLOCKBIOS);
    57075705    if (!pIf->pDrvBlockBios)
    57085706    {
     
    57105708        return VERR_PDM_MISSING_INTERFACE;
    57115709    }
    5712     pIf->pDrvMount = (PDMIMOUNT *)pIf->pDrvBase->pfnQueryInterface(pIf->pDrvBase, PDMINTERFACE_MOUNT);
     5710    pIf->pDrvMount = PDMIBASE_QUERY_INTERFACE(pIf->pDrvBase, PDMIMOUNT);
    57135711
    57145712    /*
  • trunk/src/VBox/Devices/Storage/DrvBlock.cpp

    r25966 r25974  
    529529    }
    530530
    531     pThis->pDrvMedia = (PPDMIMEDIA)pBase->pfnQueryInterface(pBase, PDMINTERFACE_MEDIA);
     531    pThis->pDrvMedia = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMEDIA);
    532532    if (pThis->pDrvMedia)
    533533    {
     
    660660    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    661661        return &pDrvIns->IBase;
    662     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK) == 0)
    663         return &pThis->IBlock;
    664     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_BIOS) == 0)
    665         return pThis->fBiosVisible ? &pThis->IBlockBios : NULL;
    666     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MOUNT) == 0)
    667         return pThis->fMountable ? &pThis->IMount : NULL;
    668     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_ASYNC) == 0)
    669         return pThis->pDrvMediaAsync ? &pThis->IBlockAsync : NULL;
    670     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MEDIA_ASYNC_PORT) == 0)
    671         return pThis->pDrvBlockAsyncPort ? &pThis->IMediaAsyncPort : NULL;
     662    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCK, &pThis->IBlock);
     663    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKBIOS, pThis->fBiosVisible ? &pThis->IBlockBios : NULL);
     664    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMOUNT, pThis->fMountable ? &pThis->IMount : NULL);
     665    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKASYNC, pThis->pDrvMediaAsync ? &pThis->IBlockAsync : NULL);
     666    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIAASYNCPORT, pThis->pDrvBlockAsyncPort ? &pThis->IMediaAsyncPort : NULL);
    672667    return NULL;
    673668}
     
    761756     * Get the IBlockPort & IMountNotify interfaces of the above driver/device.
    762757     */
    763     pThis->pDrvBlockPort = (PPDMIBLOCKPORT)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_BLOCK_PORT);
     758    pThis->pDrvBlockPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIBLOCKPORT);
    764759    if (!pThis->pDrvBlockPort)
    765760        return PDMDRV_SET_ERROR(pDrvIns, VERR_PDM_MISSING_INTERFACE_ABOVE,
     
    767762
    768763    /* Try to get the optional async block port interface above. */
    769     pThis->pDrvBlockAsyncPort = (PPDMIBLOCKASYNCPORT)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_BLOCK_ASYNC_PORT);
    770 
    771     pThis->pDrvMountNotify = (PPDMIMOUNTNOTIFY)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_MOUNT_NOTIFY);
     764    pThis->pDrvBlockAsyncPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIBLOCKASYNCPORT);
     765    pThis->pDrvMountNotify    = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIMOUNTNOTIFY);
    772766
    773767    /*
     
    880874                                   N_("Failed to attach driver below us! %Rrf"), rc);
    881875
    882     pThis->pDrvMedia = (PPDMIMEDIA)pBase->pfnQueryInterface(pBase, PDMINTERFACE_MEDIA);
     876    pThis->pDrvMedia = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMEDIA);
    883877    if (!pThis->pDrvMedia)
    884878        return PDMDRV_SET_ERROR(pDrvIns, VERR_PDM_MISSING_INTERFACE_BELOW,
     
    886880
    887881    /* Try to get the optional async interface. */
    888     pThis->pDrvMediaAsync = (PPDMIMEDIAASYNC)pBase->pfnQueryInterface(pBase, PDMINTERFACE_MEDIA_ASYNC);
     882    pThis->pDrvMediaAsync = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMEDIAASYNC);
    889883
    890884    if (RTUuidIsNull(&pThis->Uuid))
  • trunk/src/VBox/Devices/Storage/DrvHostBase.cpp

    r25966 r25974  
    573573    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    574574        return &pDrvIns->IBase;
    575     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK) == 0)
    576         return &pThis->IBlock;
    577     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_BIOS) == 0)
    578         return pThis->fBiosVisible ? &pThis->IBlockBios : NULL;
    579     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MOUNT) == 0)
    580         return &pThis->IMount;
     575    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCK, &pThis->IBlock);
     576    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKBIOS, pThis->fBiosVisible ? &pThis->IBlockBios : NULL);
     577    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMOUNT, &pThis->IMount);
    581578    return NULL;
    582579}
     
    19111908     * Get the IBlockPort & IMountNotify interfaces of the above driver/device.
    19121909     */
    1913     pThis->pDrvBlockPort = (PPDMIBLOCKPORT)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_BLOCK_PORT);
     1910    pThis->pDrvBlockPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIBLOCKPORT);
    19141911    if (!pThis->pDrvBlockPort)
    19151912    {
     
    19171914        return VERR_PDM_MISSING_INTERFACE_ABOVE;
    19181915    }
    1919     pThis->pDrvMountNotify = (PPDMIMOUNTNOTIFY)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_MOUNT_NOTIFY);
     1916    pThis->pDrvMountNotify = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIMOUNTNOTIFY);
    19201917
    19211918    /*
  • trunk/src/VBox/Devices/Storage/DrvMediaISO.cpp

    r25966 r25974  
    295295    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    296296        return &pDrvIns->IBase;
    297     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MEDIA) == 0)
    298         return &pThis->IMedia;
     297    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIA, &pThis->IMedia);
    299298    return NULL;
    300299}
  • trunk/src/VBox/Devices/Storage/DrvRawImage.cpp

    r25966 r25974  
    346346    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    347347        return &pDrvIns->IBase;
    348     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MEDIA) == 0)
    349         return &pThis->IMedia;
     348    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIA, &pThis->IMedia);
    350349    return NULL;
    351350}
  • trunk/src/VBox/Devices/Storage/DrvSCSI.cpp

    r25966 r25974  
    809809    if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_SCSI_CONNECTOR) == 0)
    810810        return &pThis->ISCSIConnector;
    811     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_PORT) == 0)
    812         return &pThis->IPort;
     811    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKPORT, &pThis->IPort);
    813812    return NULL;
    814813}
     
    959958     * Query the block and blockbios interfaces.
    960959     */
    961     pThis->pDrvBlock = (PDMIBLOCK *)pThis->pDrvBase->pfnQueryInterface(pThis->pDrvBase, PDMINTERFACE_BLOCK);
     960    pThis->pDrvBlock = PDMIBASE_QUERY_INTERFACE(pThis->pDrvBase, PDMIBLOCK);
    962961    if (!pThis->pDrvBlock)
    963962    {
     
    965964        return VERR_PDM_MISSING_INTERFACE;
    966965    }
    967     pThis->pDrvBlockBios = (PDMIBLOCKBIOS *)pThis->pDrvBase->pfnQueryInterface(pThis->pDrvBase, PDMINTERFACE_BLOCK_BIOS);
     966    pThis->pDrvBlockBios = PDMIBASE_QUERY_INTERFACE(pThis->pDrvBase, PDMIBLOCKBIOS);
    968967    if (!pThis->pDrvBlockBios)
    969968    {
     
    976975    AssertMsgReturn(pThis->pDevScsiPort, ("Missing SCSI port interface above\n"), VERR_PDM_MISSING_INTERFACE);
    977976
    978     pThis->pDrvMount = (PDMIMOUNT *)pThis->pDrvBase->pfnQueryInterface(pThis->pDrvBase, PDMINTERFACE_MOUNT);
     977    pThis->pDrvMount = PDMIBASE_QUERY_INTERFACE(pThis->pDrvBase, PDMIMOUNT);
    979978
    980979    /* Query the optional LED interface above. */
     
    991990
    992991    /* Try to get the optional async block interface. */
    993     pThis->pDrvBlockAsync = (PDMIBLOCKASYNC *)pThis->pDrvBase->pfnQueryInterface(pThis->pDrvBase, PDMINTERFACE_BLOCK_ASYNC);
     992    pThis->pDrvBlockAsync = PDMIBASE_QUERY_INTERFACE(pThis->pDrvBase, PDMIBLOCKASYNC);
    994993
    995994    PDMBLOCKTYPE enmType = pThis->pDrvBlock->pfnGetType(pThis->pDrvBlock);
  • trunk/src/VBox/Devices/Storage/DrvVD.cpp

    r25966 r25974  
    821821    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    822822        return &pDrvIns->IBase;
    823     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MEDIA) == 0)
    824         return &pThis->IMedia;
    825     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MEDIA_ASYNC) == 0)
    826         return pThis->fAsyncIOSupported ? &pThis->IMediaAsync : NULL;
     823    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIA, &pThis->IMedia);
     824    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMEDIAASYNC, pThis->fAsyncIOSupported ? &pThis->IMediaAsync : NULL);
    827825    return NULL;
    828826}
     
    10291027
    10301028    /* Try to attach async media port interface above.*/
    1031     pThis->pDrvMediaAsyncPort = (PPDMIMEDIAASYNCPORT)pDrvIns->pUpBase->pfnQueryInterface(pDrvIns->pUpBase, PDMINTERFACE_MEDIA_ASYNC_PORT);
     1029    pThis->pDrvMediaAsyncPort = PDMIBASE_QUERY_INTERFACE(pDrvIns->pUpBase, PDMIMEDIAASYNCPORT);
    10321030
    10331031    /*
  • trunk/src/VBox/Devices/Storage/fdc.c

    r25966 r25974  
    25052505    if (RTUuidCompare2Strs(pszIID, PDMIBASE_IID) == 0)
    25062506        return &pDrive->IBase;
    2507     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_BLOCK_PORT) == 0)
    2508         return &pDrive->IPort;
    2509     if (RTUuidCompare2Strs(pszIID, PDMINTERFACE_MOUNT_NOTIFY) == 0)
    2510         return &pDrive->IMountNotify;
     2507    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIBLOCKPORT, &pDrive->IPort);
     2508    PDMIBASE_RETURN_INTERFACE(pszIID, PDMIMOUNTNOTIFY, &pDrive->IMountNotify);
    25112509    return NULL;
    25122510}
     
    25752573    rc = PDMDevHlpDriverAttach (pDevIns, drv->iLUN, &drv->IBase, &drv->pDrvBase, descs[drv->iLUN]);
    25762574    if (RT_SUCCESS (rc)) {
    2577         drv->pDrvBlock = drv->pDrvBase->pfnQueryInterface (
    2578             drv->pDrvBase,
    2579             PDMINTERFACE_BLOCK
    2580             );
     2575        drv->pDrvBlock = PDMIBASE_QUERY_INTERFACE(drv->pDrvBase, PDMIBLOCK);
    25812576        if (drv->pDrvBlock) {
    2582             drv->pDrvBlockBios = drv->pDrvBase->pfnQueryInterface (
    2583                 drv->pDrvBase,
    2584                 PDMINTERFACE_BLOCK_BIOS
    2585                 );
     2577            drv->pDrvBlockBios = PDMIBASE_QUERY_INTERFACE(drv->pDrvBase, PDMIBLOCKBIOS);
    25862578            if (drv->pDrvBlockBios) {
    2587                 drv->pDrvMount = drv->pDrvBase->pfnQueryInterface (
    2588                     drv->pDrvBase,
    2589                     PDMINTERFACE_MOUNT
    2590                     );
     2579                drv->pDrvMount = PDMIBASE_QUERY_INTERFACE(drv->pDrvBase, PDMIMOUNT);
    25912580                if (drv->pDrvMount) {
    25922581                    /*
  • trunk/src/VBox/Main/ConsoleImpl.cpp

    r25966 r25974  
    33703370        else
    33713371        {
    3372             PPDMIMOUNT pIMount = NULL;
    3373             pIMount = (PPDMIMOUNT) pBase->pfnQueryInterface(pBase, PDMINTERFACE_MOUNT);
     3372            PPDMIMOUNT pIMount = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMOUNT);
    33743373            AssertBreakStmt(pIMount, rc = VERR_INVALID_POINTER);
    33753374
     
    34593458        if (!fHostDrive && pszPath && *pszPath)
    34603459        {
    3461             PPDMIMOUNT pIMount = NULL;
    3462             pIMount = (PPDMIMOUNT) pBase->pfnQueryInterface(pBase, PDMINTERFACE_MOUNT);
     3460            PPDMIMOUNT pIMount = PDMIBASE_QUERY_INTERFACE(pBase, PDMIMOUNT);
    34633461            if (!pIMount)
    34643462            {
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