Changeset 91898 in vbox
- Timestamp:
- Oct 20, 2021 1:59:08 PM (3 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
-
include/VBox/vmm/pdmusb.h (modified) (1 diff)
-
src/VBox/Devices/Storage/DrvVD.cpp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/VBox/vmm/pdmusb.h
r91897 r91898 1186 1186 DECLINLINE(void) PDMUsbHlpMMHeapFree(PPDMUSBINS pUsbIns, void *pv) 1187 1187 { 1188 returnpUsbIns->pHlpR3->pfnMMHeapFree(pUsbIns, pv);1188 pUsbIns->pHlpR3->pfnMMHeapFree(pUsbIns, pv); 1189 1189 } 1190 1190 -
trunk/src/VBox/Devices/Storage/DrvVD.cpp
r91897 r91898 3907 3907 * 3908 3908 * @returns VBox status code. 3909 * @param pDrvIns Driver instance data. 3909 3910 * @param pCfg CFGM node holding plugin list. 3910 3911 */ 3911 static int drvvdLoadPlugins(PCFGMNODE pCfg) 3912 { 3913 PCFGMNODE pCfgPlugins = CFGMR3GetChild(pCfg, "Plugins"); 3912 static int drvvdLoadPlugins(PPDMDRVINS pDrvIns, PCFGMNODE pCfg) 3913 { 3914 PCPDMDRVHLPR3 pHlp = pDrvIns->pHlpR3; 3915 3916 PCFGMNODE pCfgPlugins = pHlp->pfnCFGMGetChild(pCfg, "Plugins"); 3914 3917 3915 3918 if (pCfgPlugins) 3916 3919 { 3917 PCFGMNODE pPluginCur = CFGMR3GetFirstChild(pCfgPlugins);3920 PCFGMNODE pPluginCur = pHlp->pfnCFGMGetFirstChild(pCfgPlugins); 3918 3921 while (pPluginCur) 3919 3922 { 3920 3923 int rc = VINF_SUCCESS; 3921 3924 char *pszPluginFilename = NULL; 3922 rc = CFGMR3QueryStringAlloc(pPluginCur, "Path", &pszPluginFilename);3925 rc = pHlp->pfnCFGMQueryStringAlloc(pPluginCur, "Path", &pszPluginFilename); 3923 3926 if (RT_SUCCESS(rc)) 3924 3927 rc = VDPluginLoadFromFilename(pszPluginFilename); … … 3927 3930 LogRel(("VD: Failed to load plugin '%s' with %Rrc, continuing\n", pszPluginFilename, rc)); 3928 3931 3929 pPluginCur = CFGMR3GetNextChild(pPluginCur);3932 pPluginCur = pHlp->pfnCFGMGetNextChild(pPluginCur); 3930 3933 } 3931 3934 } … … 3944 3947 static int drvvdSetupFilters(PVBOXDISK pThis, PCFGMNODE pCfg) 3945 3948 { 3949 PCPDMDRVHLPR3 pHlp = pThis->pDrvIns->pHlpR3; 3946 3950 int rc = VINF_SUCCESS; 3947 PCFGMNODE pCfgFilter = CFGMR3GetChild(pCfg, "Filters"); 3948 3951 3952 PCFGMNODE pCfgFilter = pHlp->pfnCFGMGetChild(pCfg, "Filters"); 3949 3953 if (pCfgFilter) 3950 3954 { 3951 PCFGMNODE pCfgFilterConfig = CFGMR3GetChild(pCfgFilter, "VDConfig");3955 PCFGMNODE pCfgFilterConfig = pHlp->pfnCFGMGetChild(pCfgFilter, "VDConfig"); 3952 3956 char *pszFilterName = NULL; 3953 3957 VDINTERFACECONFIG VDIfConfig; 3954 3958 PVDINTERFACE pVDIfsFilter = NULL; 3955 3959 3956 rc = CFGMR3QueryStringAlloc(pCfgFilter, "FilterName", &pszFilterName);3960 rc = pHlp->pfnCFGMQueryStringAlloc(pCfgFilter, "FilterName", &pszFilterName); 3957 3961 if (RT_SUCCESS(rc)) 3958 3962 { … … 4180 4184 static DECLCALLBACK(int) drvvdLoadDone(PPDMDRVINS pDrvIns, PSSMHANDLE pSSM) 4181 4185 { 4182 PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK); 4186 PVBOXDISK pThis = PDMINS_2_DATA(pDrvIns, PVBOXDISK); 4187 PCPDMDRVHLPR3 pHlp = pDrvIns->pHlpR3; 4183 4188 Assert(!pThis->fErrorUseRuntime); 4184 4189 4185 4190 /* Drop out if we don't have any work to do or if it's a failed load. */ 4186 4191 if ( !pThis->fTempReadOnly 4187 || RT_FAILURE( SSMR3HandleGetStatus(pSSM)))4192 || RT_FAILURE(pHlp->pfnSSMHandleGetStatus(pSSM))) 4188 4193 return VINF_SUCCESS; 4189 4194 4190 4195 int rc = drvvdSetWritable(pThis); 4191 4196 if (RT_FAILURE(rc)) /** @todo does the bugger set any errors? */ 4192 return SSMR3SetLoadError(pSSM, rc, RT_SRC_POS,4193 N_("Failed to write lock the images"));4197 return pHlp->pfnSSMSetLoadError(pSSM, rc, RT_SRC_POS, 4198 N_("Failed to write lock the images")); 4194 4199 return VINF_SUCCESS; 4195 4200 } … … 4620 4625 4621 4626 /* Before we access any VD API load all given plugins. */ 4622 rc = drvvdLoadPlugins(p Cfg);4627 rc = drvvdLoadPlugins(pDrvIns, pCfg); 4623 4628 if (RT_FAILURE(rc)) 4624 4629 return PDMDRV_SET_ERROR(pDrvIns, rc, N_("Loading VD plugins failed")); … … 4936 4941 } 4937 4942 4938 PCFGMNODE pParent = CFGMR3GetChild(pCurNode, "Parent");4943 PCFGMNODE pParent = pHlp->pfnCFGMGetChild(pCurNode, "Parent"); 4939 4944 if (!pParent) 4940 4945 break;
Note:
See TracChangeset
for help on using the changeset viewer.

