VirtualBox

Changeset 91869 in vbox


Ignore:
Timestamp:
Oct 20, 2021 9:05:50 AM (3 years ago)
Author:
vboxsync
Message:

Devices/Storage: Change the storage drivers to access the CFGM API through the driver helper callback table only, bugref:10074

Location:
trunk/src/VBox/Devices/Storage
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/Storage/DrvDiskIntegrity.cpp

    r83042 r91869  
    18071807static DECLCALLBACK(int) drvdiskintConstruct(PPDMDRVINS pDrvIns, PCFGMNODE pCfg, uint32_t fFlags)
    18081808{
    1809     int rc = VINF_SUCCESS;
    1810     PDRVDISKINTEGRITY pThis = PDMINS_2_DATA(pDrvIns, PDRVDISKINTEGRITY);
     1809    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
     1810    PDRVDISKINTEGRITY   pThis = PDMINS_2_DATA(pDrvIns, PDRVDISKINTEGRITY);
     1811    PCPDMDRVHLPR3       pHlp  = pDrvIns->pHlpR3;
     1812
    18111813    LogFlow(("drvdiskintConstruct: iInstance=%d\n", pDrvIns->iInstance));
    1812     PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    18131814
    18141815    /*
    18151816     * Validate configuration.
    18161817     */
    1817     if (!CFGMR3AreValuesValid(pCfg, "CheckConsistency\0"
    1818                                     "TraceRequests\0"
    1819                                     "CheckIntervalMs\0"
    1820                                     "ExpireIntervalMs\0"
    1821                                     "CheckDoubleCompletions\0"
    1822                                     "HistorySize\0"
    1823                                     "IoLogType\0"
    1824                                     "IoLogFile\0"
    1825                                     "IoLogAddress\0"
    1826                                     "IoLogPort\0"
    1827                                     "IoLogData\0"
    1828                                     "PrepopulateRamDisk\0"
    1829                                     "ReadAfterWrite\0"
    1830                                     "RecordWriteBeforeCompletion\0"
    1831                                     "ValidateMemoryBuffers\0"))
    1832         return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES;
    1833 
    1834     rc = CFGMR3QueryBoolDef(pCfg, "CheckConsistency", &pThis->fCheckConsistency, false);
     1818    PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns,  "CheckConsistency"
     1819                                            "|TraceRequests"
     1820                                            "|CheckIntervalMs"
     1821                                            "|ExpireIntervalMs"
     1822                                            "|CheckDoubleCompletions"
     1823                                            "|HistorySize"
     1824                                            "|IoLogType"
     1825                                            "|IoLogFile"
     1826                                            "|IoLogAddress"
     1827                                            "|IoLogPort"
     1828                                            "|IoLogData"
     1829                                            "|PrepopulateRamDisk"
     1830                                            "|ReadAfterWrite"
     1831                                            "|RecordWriteBeforeCompletion"
     1832                                            "|ValidateMemoryBuffers",
     1833                                            "");
     1834
     1835    int rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "CheckConsistency", &pThis->fCheckConsistency, false);
    18351836    AssertRC(rc);
    1836     rc = CFGMR3QueryBoolDef(pCfg, "TraceRequests", &pThis->fTraceRequests, false);
     1837    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "TraceRequests", &pThis->fTraceRequests, false);
    18371838    AssertRC(rc);
    1838     rc = CFGMR3QueryU32Def(pCfg, "CheckIntervalMs", &pThis->uCheckIntervalMs, 5000); /* 5 seconds */
     1839    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "CheckIntervalMs", &pThis->uCheckIntervalMs, 5000); /* 5 seconds */
    18391840    AssertRC(rc);
    1840     rc = CFGMR3QueryU32Def(pCfg, "ExpireIntervalMs", &pThis->uExpireIntervalMs, 20000); /* 20 seconds */
     1841    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "ExpireIntervalMs", &pThis->uExpireIntervalMs, 20000); /* 20 seconds */
    18411842    AssertRC(rc);
    1842     rc = CFGMR3QueryBoolDef(pCfg, "CheckDoubleCompletions", &pThis->fCheckDoubleCompletion, false);
     1843    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "CheckDoubleCompletions", &pThis->fCheckDoubleCompletion, false);
    18431844    AssertRC(rc);
    1844     rc = CFGMR3QueryU32Def(pCfg, "HistorySize", &pThis->cEntries, 512);
     1845    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "HistorySize", &pThis->cEntries, 512);
    18451846    AssertRC(rc);
    1846     rc = CFGMR3QueryBoolDef(pCfg, "PrepopulateRamDisk", &pThis->fPrepopulateRamDisk, false);
     1847    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "PrepopulateRamDisk", &pThis->fPrepopulateRamDisk, false);
    18471848    AssertRC(rc);
    1848     rc = CFGMR3QueryBoolDef(pCfg, "ReadAfterWrite", &pThis->fReadAfterWrite, false);
     1849    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "ReadAfterWrite", &pThis->fReadAfterWrite, false);
    18491850    AssertRC(rc);
    1850     rc = CFGMR3QueryBoolDef(pCfg, "RecordWriteBeforeCompletion", &pThis->fRecordWriteBeforeCompletion, false);
     1851    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "RecordWriteBeforeCompletion", &pThis->fRecordWriteBeforeCompletion, false);
    18511852    AssertRC(rc);
    1852     rc = CFGMR3QueryBoolDef(pCfg, "ValidateMemoryBuffers", &pThis->fValidateMemBufs, false);
     1853    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "ValidateMemoryBuffers", &pThis->fValidateMemBufs, false);
    18531854    AssertRC(rc);
    18541855
    18551856    bool fIoLogData = false;
    1856     rc = CFGMR3QueryBoolDef(pCfg, "IoLogData", &fIoLogData, false);
     1857    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "IoLogData", &fIoLogData, false);
    18571858    AssertRC(rc);
    18581859
     
    18611862    char *pszAddress = NULL;
    18621863    uint32_t uPort = 0;
    1863     rc = CFGMR3QueryStringAlloc(pCfg, "IoLogType", &pszIoLogType);
     1864    rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "IoLogType", &pszIoLogType);
    18641865    if (RT_SUCCESS(rc))
    18651866    {
    18661867        if (!RTStrICmp(pszIoLogType, "File"))
    18671868        {
    1868             rc = CFGMR3QueryStringAlloc(pCfg, "IoLogFile", &pszIoLogFilename);
     1869            rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "IoLogFile", &pszIoLogFilename);
    18691870            AssertRC(rc);
    18701871        }
    18711872        else if (!RTStrICmp(pszIoLogType, "Server"))
    18721873        {
    1873             rc = CFGMR3QueryStringAllocDef(pCfg, "IoLogAddress", &pszAddress, NULL);
     1874            rc = pHlp->pfnCFGMQueryStringAllocDef(pCfg, "IoLogAddress", &pszAddress, NULL);
    18741875            AssertRC(rc);
    1875             rc = CFGMR3QueryU32Def(pCfg, "IoLogPort", &uPort, 4000);
     1876            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "IoLogPort", &uPort, 4000);
    18761877            AssertRC(rc);
    18771878        }
    18781879        else if (!RTStrICmp(pszIoLogType, "Client"))
    18791880        {
    1880             rc = CFGMR3QueryStringAlloc(pCfg, "IoLogAddress", &pszAddress);
     1881            rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "IoLogAddress", &pszAddress);
    18811882            AssertRC(rc);
    1882             rc = CFGMR3QueryU32Def(pCfg, "IoLogPort", &uPort, 4000);
     1883            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "IoLogPort", &uPort, 4000);
    18831884            AssertRC(rc);
    18841885        }
  • trunk/src/VBox/Devices/Storage/DrvHostBase.cpp

    r82968 r91869  
    12671267{
    12681268    int src = VINF_SUCCESS;
    1269     PDRVHOSTBASE pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTBASE);
     1269    PDRVHOSTBASE    pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTBASE);
     1270    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
     1271
    12701272    LogFlow(("%s-%d: DRVHostBaseInit: iInstance=%d\n", pDrvIns->pReg->szName, pDrvIns->iInstance, pDrvIns->iInstance));
    12711273
     
    13301332    drvHostBaseInitOs(pThis);
    13311333
    1332     if (!CFGMR3AreValuesValid(pCfg, pszCfgValid))
     1334    if (!pHlp->pfnCFGMAreValuesValid(pCfg, pszCfgValid))
    13331335    {
    13341336        pThis->fAttachFailError = true;
     
    13521354     */
    13531355    /* Device */
    1354     int rc = CFGMR3QueryStringAlloc(pCfg, "Path", &pThis->pszDevice);
     1356    int rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "Path", &pThis->pszDevice);
    13551357    if (RT_FAILURE(rc))
    13561358    {
     
    13611363    /* Mountable */
    13621364    uint32_t u32;
    1363     rc = CFGMR3QueryU32Def(pCfg, "Interval", &u32, 1000);
     1365    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "Interval", &u32, 1000);
    13641366    if (RT_SUCCESS(rc))
    13651367        pThis->cMilliesPoller = u32;
     
    13761378    else
    13771379    {
    1378         rc = CFGMR3QueryBoolDef(pCfg, "ReadOnly", &pThis->fReadOnlyConfig,
    1379                                   enmType == PDMMEDIATYPE_DVD || enmType == PDMMEDIATYPE_CDROM
    1380                                 ? true
    1381                                 : false);
     1380        rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "ReadOnly", &pThis->fReadOnlyConfig,
     1381                                         enmType == PDMMEDIATYPE_DVD || enmType == PDMMEDIATYPE_CDROM
     1382                                       ? true
     1383                                       : false);
    13821384        if (RT_FAILURE(rc))
    13831385        {
     
    13881390
    13891391    /* Locked */
    1390     rc = CFGMR3QueryBoolDef(pCfg, "Locked", &pThis->fLocked, false);
     1392    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "Locked", &pThis->fLocked, false);
    13911393    if (RT_FAILURE(rc))
    13921394    {
     
    13961398
    13971399    /* BIOS visible */
    1398     rc = CFGMR3QueryBoolDef(pCfg, "BIOSVisible", &pThis->fBiosVisible, true);
     1400    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "BIOSVisible", &pThis->fBiosVisible, true);
    13991401    if (RT_FAILURE(rc))
    14001402    {
     
    14051407    /* Uuid */
    14061408    char *psz;
    1407     rc = CFGMR3QueryStringAlloc(pCfg, "Uuid", &psz);
     1409    rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "Uuid", &psz);
    14081410    if (rc == VERR_CFGM_VALUE_NOT_FOUND)
    14091411        RTUuidClear(&pThis->Uuid);
     
    14271429    /* Define whether attach failure is an error (default) or not. */
    14281430    bool fAttachFailError = true;
    1429     rc = CFGMR3QueryBoolDef(pCfg, "AttachFailError", &fAttachFailError, true);
     1431    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "AttachFailError", &fAttachFailError, true);
    14301432    pThis->fAttachFailError = fAttachFailError;
    14311433
  • trunk/src/VBox/Devices/Storage/DrvHostDVD.cpp

    r90791 r91869  
    468468{
    469469    RT_NOREF(fFlags);
    470     PDRVHOSTDVD pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTDVD);
     470    PDRVHOSTDVD     pThis = PDMINS_2_DATA(pDrvIns, PDRVHOSTDVD);
     471    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
     472
    471473    LogFlow(("drvHostDvdConstruct: iInstance=%d\n", pDrvIns->iInstance));
    472474
    473     int rc = CFGMR3QueryBoolDef(pCfg, "InquiryOverwrite", &pThis->fInquiryOverwrite, true);
     475    int rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "InquiryOverwrite", &pThis->fInquiryOverwrite, true);
    474476    if (RT_FAILURE(rc))
    475477        return PDMDRV_SET_ERROR(pDrvIns, rc,
     
    477479
    478480    bool fPassthrough;
    479     rc = CFGMR3QueryBool(pCfg, "Passthrough", &fPassthrough);
     481    rc = pHlp->pfnCFGMQueryBool(pCfg, "Passthrough", &fPassthrough);
    480482    if (RT_SUCCESS(rc) && fPassthrough)
    481483    {
  • trunk/src/VBox/Devices/Storage/DrvRamDisk.cpp

    r87560 r91869  
    16561656{
    16571657    RT_NOREF1(fFlags);
    1658     int rc = VINF_SUCCESS;
    1659     uint32_t cbIoBufMax;
    1660     PDRVRAMDISK pThis = PDMINS_2_DATA(pDrvIns, PDRVRAMDISK);
     1658    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
     1659    PDRVRAMDISK     pThis = PDMINS_2_DATA(pDrvIns, PDRVRAMDISK);
     1660    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
     1661
    16611662    LogFlow(("drvdiskintConstruct: iInstance=%d\n", pDrvIns->iInstance));
    1662     PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    1663 
    1664     /*
    1665      * Validate configuration.
    1666      */
    1667     if (!CFGMR3AreValuesValid(pCfg, "Size\0"
    1668                                     "PreAlloc\0"
    1669                                     "IoBufMax\0"
    1670                                     "SectorSize\0"
    1671                                     "NonRotational\0"))
    1672         return VERR_PDM_DRVINS_UNKNOWN_CFG_VALUES;
    1673 
    1674     rc = CFGMR3QueryU64(pCfg, "Size", &pThis->cbDisk);
    1675     if (RT_FAILURE(rc))
    1676         return PDMDRV_SET_ERROR(pDrvIns, rc,
    1677                                 N_("RamDisk: Error querying the media size"));
    1678     rc = CFGMR3QueryBoolDef(pCfg, "PreAlloc", &pThis->fPreallocRamDisk, false);
    1679     if (RT_FAILURE(rc))
    1680         return PDMDRV_SET_ERROR(pDrvIns, rc,
    1681                                 N_("RamDisk: Error querying \"PreAlloc\""));
    1682     rc = CFGMR3QueryBoolDef(pCfg, "NonRotational", &pThis->fNonRotational, true);
    1683     if (RT_FAILURE(rc))
    1684         return PDMDRV_SET_ERROR(pDrvIns, rc,
    1685                                 N_("RamDisk: Error querying \"NonRotational\""));
    1686     rc = CFGMR3QueryU32Def(pCfg, "IoBufMax", &cbIoBufMax, 5 * _1M);
    1687     if (RT_FAILURE(rc))
    1688         return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"IoBufMax\" from the config"));
    1689     rc = CFGMR3QueryU32Def(pCfg, "SectorSize", &pThis->cbSector, 512);
    1690     if (RT_FAILURE(rc))
    1691         return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"SectorSize\" from the config"));
    16921663
    16931664    /*
     
    17371708    pThis->IMediaEx.pfnIoReqSuspendedSave       = drvramdiskIoReqSuspendedSave;
    17381709    pThis->IMediaEx.pfnIoReqSuspendedLoad       = drvramdiskIoReqSuspendedLoad;
     1710
     1711    /*
     1712     * Validate configuration.
     1713     */
     1714    PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns,  "Size"
     1715                                            "|PreAlloc"
     1716                                            "|IoBufMax"
     1717                                            "|SectorSize"
     1718                                            "|NonRotational",
     1719                                            "");
     1720
     1721    int rc = pHlp->pfnCFGMQueryU64(pCfg, "Size", &pThis->cbDisk);
     1722    if (RT_FAILURE(rc))
     1723        return PDMDRV_SET_ERROR(pDrvIns, rc,
     1724                                N_("RamDisk: Error querying the media size"));
     1725    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "PreAlloc", &pThis->fPreallocRamDisk, false);
     1726    if (RT_FAILURE(rc))
     1727        return PDMDRV_SET_ERROR(pDrvIns, rc,
     1728                                N_("RamDisk: Error querying \"PreAlloc\""));
     1729    rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "NonRotational", &pThis->fNonRotational, true);
     1730    if (RT_FAILURE(rc))
     1731        return PDMDRV_SET_ERROR(pDrvIns, rc,
     1732                                N_("RamDisk: Error querying \"NonRotational\""));
     1733
     1734    uint32_t cbIoBufMax;
     1735    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "IoBufMax", &cbIoBufMax, 5 * _1M);
     1736    if (RT_FAILURE(rc))
     1737        return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"IoBufMax\" from the config"));
     1738    rc = pHlp->pfnCFGMQueryU32Def(pCfg, "SectorSize", &pThis->cbSector, 512);
     1739    if (RT_FAILURE(rc))
     1740        return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"SectorSize\" from the config"));
    17391741
    17401742    /* Query the media port interface above us. */
  • trunk/src/VBox/Devices/Storage/DrvSCSI.cpp

    r90791 r91869  
    14161416     * Validate and read configuration.
    14171417     */
    1418     if (!CFGMR3AreValuesValid(pCfg, ""))
    1419         return PDMDRV_SET_ERROR(pDrvIns, VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES,
    1420                                 N_("SCSI configuration error: unknown option specified"));
     1418    PDMDRV_VALIDATE_CONFIG_RETURN(pDrvIns, "", "");
    14211419
    14221420    /*
  • trunk/src/VBox/Devices/Storage/DrvVD.cpp

    r90791 r91869  
    44784478{
    44794479    RT_NOREF(fFlags);
     4480    PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
     4481    PVBOXDISK       pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK);
     4482    PCPDMDRVHLPR3   pHlp  = pDrvIns->pHlpR3;
     4483
    44804484    LogFlowFunc(("\n"));
    4481     PDMDRV_CHECK_VERSIONS_RETURN(pDrvIns);
    4482     PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK);
    4483     int rc = VINF_SUCCESS;
     4485
    44844486    char *pszName = NULL;        /* The path of the disk image file. */
    44854487    char *pszFormat = NULL;      /* The format backed to use for this image. */
     
    45734575    pThis->VDIfError.pfnError     = drvvdErrorCallback;
    45744576    pThis->VDIfError.pfnMessage   = NULL;
    4575     rc = VDInterfaceAdd(&pThis->VDIfError.Core, "DrvVD_VDIError", VDINTERFACETYPE_ERROR,
    4576                         pDrvIns, sizeof(VDINTERFACEERROR), &pThis->pVDIfsDisk);
     4577    int rc = VDInterfaceAdd(&pThis->VDIfError.Core, "DrvVD_VDIError", VDINTERFACETYPE_ERROR,
     4578                            pDrvIns, sizeof(VDINTERFACEERROR), &pThis->pVDIfsDisk);
    45774579    AssertRC(rc);
    45784580
     
    46434645            /* Toplevel configuration additionally contains the global image
    46444646             * open flags. Some might be converted to per-image flags later. */
    4645             fValid = CFGMR3AreValuesValid(pCurNode,
    4646                                           "Format\0Path\0"
    4647                                           "ReadOnly\0MaybeReadOnly\0TempReadOnly\0Shareable\0HonorZeroWrites\0"
    4648                                           "HostIPStack\0UseNewIo\0BootAcceleration\0BootAccelerationBuffer\0"
    4649                                           "SetupMerge\0MergeSource\0MergeTarget\0BwGroup\0Type\0BlockCache\0"
    4650                                           "CachePath\0CacheFormat\0Discard\0InformAboutZeroBlocks\0"
    4651                                           "SkipConsistencyChecks\0"
    4652                                           "Locked\0BIOSVisible\0Cylinders\0Heads\0Sectors\0Mountable\0"
    4653                                           "EmptyDrive\0IoBufMax\0NonRotationalMedium\0"
     4647            fValid = pHlp->pfnCFGMAreValuesValid(pCurNode,
     4648                                                 "Format\0Path\0"
     4649                                                 "ReadOnly\0MaybeReadOnly\0TempReadOnly\0Shareable\0HonorZeroWrites\0"
     4650                                                 "HostIPStack\0UseNewIo\0BootAcceleration\0BootAccelerationBuffer\0"
     4651                                                 "SetupMerge\0MergeSource\0MergeTarget\0BwGroup\0Type\0BlockCache\0"
     4652                                                 "CachePath\0CacheFormat\0Discard\0InformAboutZeroBlocks\0"
     4653                                                 "SkipConsistencyChecks\0"
     4654                                                 "Locked\0BIOSVisible\0Cylinders\0Heads\0Sectors\0Mountable\0"
     4655                                                 "EmptyDrive\0IoBufMax\0NonRotationalMedium\0"
    46544656#if defined(VBOX_PERIODIC_FLUSH) || defined(VBOX_IGNORE_FLUSH)
    4655                                           "FlushInterval\0IgnoreFlush\0IgnoreFlushAsync\0"
     4657                                                 "FlushInterval\0IgnoreFlush\0IgnoreFlushAsync\0"
    46564658#endif /* !(VBOX_PERIODIC_FLUSH || VBOX_IGNORE_FLUSH) */
    46574659                                           );
     
    46614663            /* All other image configurations only contain image name and
    46624664             * the format information. */
    4663             fValid = CFGMR3AreValuesValid(pCurNode, "Format\0Path\0"
    4664                                                     "MergeSource\0MergeTarget\0");
     4665            fValid = pHlp->pfnCFGMAreValuesValid(pCurNode, "Format\0Path\0"
     4666                                                           "MergeSource\0MergeTarget\0");
    46654667        }
    46664668        if (!fValid)
     
    46734675        if (pCurNode == pCfg)
    46744676        {
    4675             rc = CFGMR3QueryBoolDef(pCurNode, "HostIPStack", &fHostIP, true);
     4677            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "HostIPStack", &fHostIP, true);
    46764678            if (RT_FAILURE(rc))
    46774679            {
     
    46814683            }
    46824684
    4683             rc = CFGMR3QueryBoolDef(pCurNode, "HonorZeroWrites", &fHonorZeroWrites, false);
     4685            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "HonorZeroWrites", &fHonorZeroWrites, false);
    46844686            if (RT_FAILURE(rc))
    46854687            {
     
    46894691            }
    46904692
    4691             rc = CFGMR3QueryBoolDef(pCurNode, "ReadOnly", &fReadOnly, false);
     4693            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "ReadOnly", &fReadOnly, false);
    46924694            if (RT_FAILURE(rc))
    46934695            {
     
    46974699            }
    46984700
    4699             rc = CFGMR3QueryBoolDef(pCurNode, "MaybeReadOnly", &fMaybeReadOnly, false);
     4701            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "MaybeReadOnly", &fMaybeReadOnly, false);
    47004702            if (RT_FAILURE(rc))
    47014703            {
     
    47054707            }
    47064708
    4707             rc = CFGMR3QueryBoolDef(pCurNode, "TempReadOnly", &pThis->fTempReadOnly, false);
     4709            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "TempReadOnly", &pThis->fTempReadOnly, false);
    47084710            if (RT_FAILURE(rc))
    47094711            {
     
    47194721            }
    47204722
    4721             rc = CFGMR3QueryBoolDef(pCurNode, "Shareable", &pThis->fShareable, false);
     4723            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "Shareable", &pThis->fShareable, false);
    47224724            if (RT_FAILURE(rc))
    47234725            {
     
    47274729            }
    47284730
    4729             rc = CFGMR3QueryBoolDef(pCurNode, "UseNewIo", &fUseNewIo, false);
     4731            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "UseNewIo", &fUseNewIo, false);
    47304732            if (RT_FAILURE(rc))
    47314733            {
     
    47344736                break;
    47354737            }
    4736             rc = CFGMR3QueryBoolDef(pCurNode, "SetupMerge", &pThis->fMergePending, false);
     4738            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "SetupMerge", &pThis->fMergePending, false);
    47374739            if (RT_FAILURE(rc))
    47384740            {
     
    47474749                break;
    47484750            }
    4749             rc = CFGMR3QueryBoolDef(pCurNode, "BootAcceleration", &pThis->fBootAccelEnabled, false);
     4751            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "BootAcceleration", &pThis->fBootAccelEnabled, false);
    47504752            if (RT_FAILURE(rc))
    47514753            {
     
    47544756                break;
    47554757            }
    4756             rc = CFGMR3QueryU32Def(pCurNode, "BootAccelerationBuffer", (uint32_t *)&pThis->cbBootAccelBuffer, 16 * _1K);
     4758            rc = pHlp->pfnCFGMQueryU32Def(pCurNode, "BootAccelerationBuffer", (uint32_t *)&pThis->cbBootAccelBuffer, 16 * _1K);
    47574759            if (RT_FAILURE(rc))
    47584760            {
     
    47614763                break;
    47624764            }
    4763             rc = CFGMR3QueryBoolDef(pCurNode, "BlockCache", &fUseBlockCache, false);
     4765            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "BlockCache", &fUseBlockCache, false);
    47644766            if (RT_FAILURE(rc))
    47654767            {
     
    47684770                break;
    47694771            }
    4770             rc = CFGMR3QueryStringAlloc(pCurNode, "BwGroup", &pThis->pszBwGroup);
     4772            rc = pHlp->pfnCFGMQueryStringAlloc(pCurNode, "BwGroup", &pThis->pszBwGroup);
    47714773            if (RT_FAILURE(rc) && rc != VERR_CFGM_VALUE_NOT_FOUND)
    47724774            {
     
    47774779            else
    47784780                rc = VINF_SUCCESS;
    4779             rc = CFGMR3QueryBoolDef(pCurNode, "Discard", &fDiscard, false);
     4781            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "Discard", &fDiscard, false);
    47804782            if (RT_FAILURE(rc))
    47814783            {
     
    47904792                break;
    47914793            }
    4792             rc = CFGMR3QueryBoolDef(pCurNode, "InformAboutZeroBlocks", &fInformAboutZeroBlocks, false);
     4794            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "InformAboutZeroBlocks", &fInformAboutZeroBlocks, false);
    47934795            if (RT_FAILURE(rc))
    47944796            {
     
    47974799                break;
    47984800            }
    4799             rc = CFGMR3QueryBoolDef(pCurNode, "SkipConsistencyChecks", &fSkipConsistencyChecks, true);
     4801            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "SkipConsistencyChecks", &fSkipConsistencyChecks, true);
    48004802            if (RT_FAILURE(rc))
    48014803            {
     
    48064808
    48074809            char *psz = NULL;
    4808            rc = CFGMR3QueryStringAlloc(pCfg, "Type", &psz);
     4810           rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "Type", &psz);
    48094811            if (RT_FAILURE(rc))
    48104812                return PDMDRV_SET_ERROR(pDrvIns, VERR_PDM_BLOCK_NO_TYPE, N_("Failed to obtain the sub type"));
     
    48194821            MMR3HeapFree(psz); psz = NULL;
    48204822
    4821             rc = CFGMR3QueryStringAlloc(pCurNode, "CachePath", &pszCachePath);
     4823            rc = pHlp->pfnCFGMQueryStringAlloc(pCurNode, "CachePath", &pszCachePath);
    48224824            if (RT_FAILURE(rc) && rc != VERR_CFGM_VALUE_NOT_FOUND)
    48234825            {
     
    48314833            if (pszCachePath)
    48324834            {
    4833                 rc = CFGMR3QueryStringAlloc(pCurNode, "CacheFormat", &pszCacheFormat);
     4835                rc = pHlp->pfnCFGMQueryStringAlloc(pCurNode, "CacheFormat", &pszCacheFormat);
    48344836                if (RT_FAILURE(rc))
    48354837                {
     
    48414843
    48424844            /* Mountable */
    4843             rc = CFGMR3QueryBoolDef(pCfg, "Mountable", &pThis->fMountable, false);
     4845            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "Mountable", &pThis->fMountable, false);
    48444846            if (RT_FAILURE(rc))
    48454847                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"Mountable\" from the config"));
    48464848
    48474849            /* Locked */
    4848             rc = CFGMR3QueryBoolDef(pCfg, "Locked", &pThis->fLocked, false);
     4850            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "Locked", &pThis->fLocked, false);
    48494851            if (RT_FAILURE(rc))
    48504852                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"Locked\" from the config"));
    48514853
    48524854            /* BIOS visible */
    4853             rc = CFGMR3QueryBoolDef(pCfg, "BIOSVisible", &pThis->fBiosVisible, true);
     4855            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "BIOSVisible", &pThis->fBiosVisible, true);
    48544856            if (RT_FAILURE(rc))
    48554857                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"BIOSVisible\" from the config"));
    48564858
    48574859            /* Cylinders */
    4858             rc = CFGMR3QueryU32Def(pCfg, "Cylinders", &pThis->LCHSGeometry.cCylinders, 0);
     4860            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "Cylinders", &pThis->LCHSGeometry.cCylinders, 0);
    48594861            if (RT_FAILURE(rc))
    48604862                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"Cylinders\" from the config"));
    48614863
    48624864            /* Heads */
    4863             rc = CFGMR3QueryU32Def(pCfg, "Heads", &pThis->LCHSGeometry.cHeads, 0);
     4865            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "Heads", &pThis->LCHSGeometry.cHeads, 0);
    48644866            if (RT_FAILURE(rc))
    48654867                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"Heads\" from the config"));
    48664868
    48674869            /* Sectors */
    4868             rc = CFGMR3QueryU32Def(pCfg, "Sectors", &pThis->LCHSGeometry.cSectors, 0);
     4870            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "Sectors", &pThis->LCHSGeometry.cSectors, 0);
    48694871            if (RT_FAILURE(rc))
    48704872                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"Sectors\" from the config"));
    48714873
    48724874            /* Uuid */
    4873             rc = CFGMR3QueryStringAlloc(pCfg, "Uuid", &psz);
     4875            rc = pHlp->pfnCFGMQueryStringAlloc(pCfg, "Uuid", &psz);
    48744876            if (rc == VERR_CFGM_VALUE_NOT_FOUND)
    48754877                RTUuidClear(&pThis->Uuid);
     
    48894891
    48904892#ifdef VBOX_PERIODIC_FLUSH
    4891             rc = CFGMR3QueryU32Def(pCfg, "FlushInterval", &pThis->cbFlushInterval, 0);
     4893            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "FlushInterval", &pThis->cbFlushInterval, 0);
    48924894            if (RT_FAILURE(rc))
    48934895                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"FlushInterval\" from the config"));
     
    48954897
    48964898#ifdef VBOX_IGNORE_FLUSH
    4897             rc = CFGMR3QueryBoolDef(pCfg, "IgnoreFlush", &pThis->fIgnoreFlush, true);
     4899            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "IgnoreFlush", &pThis->fIgnoreFlush, true);
    48984900            if (RT_FAILURE(rc))
    48994901                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"IgnoreFlush\" from the config"));
     
    49044906                LogRel(("DrvVD: Flushes will be passed to the disk\n"));
    49054907
    4906             rc = CFGMR3QueryBoolDef(pCfg, "IgnoreFlushAsync", &pThis->fIgnoreFlushAsync, false);
     4908            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "IgnoreFlushAsync", &pThis->fIgnoreFlushAsync, false);
    49074909            if (RT_FAILURE(rc))
    49084910                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"IgnoreFlushAsync\" from the config"));
     
    49144916#endif /* VBOX_IGNORE_FLUSH */
    49154917
    4916             rc = CFGMR3QueryBoolDef(pCurNode, "EmptyDrive", &fEmptyDrive, false);
     4918            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "EmptyDrive", &fEmptyDrive, false);
    49174919            if (RT_FAILURE(rc))
    49184920            {
     
    49224924            }
    49234925
    4924             rc = CFGMR3QueryU32Def(pCfg, "IoBufMax", &cbIoBufMax, 5 * _1M);
     4926            rc = pHlp->pfnCFGMQueryU32Def(pCfg, "IoBufMax", &cbIoBufMax, 5 * _1M);
    49254927            if (RT_FAILURE(rc))
    49264928                return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Failed to query \"IoBufMax\" from the config"));
    49274929
    4928             rc = CFGMR3QueryBoolDef(pCfg, "NonRotationalMedium", &pThis->fNonRotational, false);
     4930            rc = pHlp->pfnCFGMQueryBoolDef(pCfg, "NonRotationalMedium", &pThis->fNonRotational, false);
    49294931            if (RT_FAILURE(rc))
    49304932                return PDMDRV_SET_ERROR(pDrvIns, rc,
     
    50145016             * Read the image configuration.
    50155017             */
    5016             rc = CFGMR3QueryStringAlloc(pCurNode, "Path", &pszName);
     5018            rc = pHlp->pfnCFGMQueryStringAlloc(pCurNode, "Path", &pszName);
    50175019            if (RT_FAILURE(rc))
    50185020            {
     
    50225024            }
    50235025
    5024             rc = CFGMR3QueryStringAlloc(pCurNode, "Format", &pszFormat);
     5026            rc = pHlp->pfnCFGMQueryStringAlloc(pCurNode, "Format", &pszFormat);
    50255027            if (RT_FAILURE(rc))
    50265028            {
     
    50315033
    50325034            bool fMergeSource;
    5033             rc = CFGMR3QueryBoolDef(pCurNode, "MergeSource", &fMergeSource, false);
     5035            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "MergeSource", &fMergeSource, false);
    50345036            if (RT_FAILURE(rc))
    50355037            {
     
    50515053
    50525054            bool fMergeTarget;
    5053             rc = CFGMR3QueryBoolDef(pCurNode, "MergeTarget", &fMergeTarget, false);
     5055            rc = pHlp->pfnCFGMQueryBoolDef(pCurNode, "MergeTarget", &fMergeTarget, false);
    50545056            if (RT_FAILURE(rc))
    50555057            {
     
    50705072            }
    50715073
    5072             PCFGMNODE pCfgVDConfig = CFGMR3GetChild(pCurNode, "VDConfig");
     5074            PCFGMNODE pCfgVDConfig = pHlp->pfnCFGMGetChild(pCurNode, "VDConfig");
    50735075            pImage->VDIfConfig.pfnAreKeysValid = drvvdCfgAreKeysValid;
    50745076            pImage->VDIfConfig.pfnQuerySize    = drvvdCfgQuerySize;
     
    50905092            {
    50915093                if (pCfgVDConfig)
    5092                     pThis->pCfgCrypto = CFGMR3GetChild(pCfgVDConfig, "CRYPT");
     5094                    pThis->pCfgCrypto = pHlp->pfnCFGMGetChild(pCfgVDConfig, "CRYPT");
    50935095
    50945096                if (pThis->pCfgCrypto)
     
    52485250            iLevel--;
    52495251            iImageIdx++;
    5250             pCurNode = CFGMR3GetParent(pCurNode);
     5252            pCurNode = pHlp->pfnCFGMGetParent(pCurNode);
    52515253        }
    52525254
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