Changeset 94342 in vbox for trunk/src/VBox/VMM
- Timestamp:
- Mar 23, 2022 7:53:21 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/PDMUsb.cpp
r93115 r94342 1019 1019 * @param pszBackend The proxy backend to use. 1020 1020 * @param pszAddress The address string. 1021 * @param pvBackend Pointer to the backend. 1021 * @param pSubTree The CFGM subtree to incorporate into the settings 1022 * (same restrictions as for CFGMR3InsertSubTree() apply), 1023 * optional. 1022 1024 * @param enmSpeed The speed the USB device is operating at. 1023 1025 * @param fMaskedIfs The interfaces to hide from the guest. 1024 1026 * @param pszCaptureFilename Path to the file for USB traffic capturing, optional. 1025 1027 */ 1026 VMMR3DECL(int) PDMR3UsbCreateProxyDevice(PUVM pUVM, PCRTUUID pUuid, const char *pszBackend, const char *pszAddress, void *pvBackend,1028 VMMR3DECL(int) PDMR3UsbCreateProxyDevice(PUVM pUVM, PCRTUUID pUuid, const char *pszBackend, const char *pszAddress, PCFGMNODE pSubTree, 1027 1029 VUSBSPEED enmSpeed, uint32_t fMaskedIfs, const char *pszCaptureFilename) 1028 1030 { … … 1078 1080 rc = CFGMR3InsertString(pConfig, "UUID", szUuid); AssertRCBreak(rc); 1079 1081 rc = CFGMR3InsertString(pConfig, "Backend", pszBackend); AssertRCBreak(rc); 1080 rc = CFGMR3InsertInteger(pConfig, "pvBackend", (uintptr_t)pvBackend); AssertRCBreak(rc);1081 1082 rc = CFGMR3InsertInteger(pConfig, "MaskedIfs", fMaskedIfs); AssertRCBreak(rc); 1082 1083 rc = CFGMR3InsertInteger(pConfig, "Force11Device", !(pHub->fVersions & iUsbVersion)); AssertRCBreak(rc); 1084 if (pSubTree) 1085 { 1086 rc = CFGMR3InsertSubTree(pConfig, "BackendCfg", pSubTree, NULL /*ppChild*/); 1087 AssertRCBreak(rc); 1088 } 1083 1089 } while (0); /* break loop */ 1084 1090 if (RT_FAILURE(rc)) … … 2176 2182 pUsbIns->pReg->szName, pUsbIns->iInstance, enmReason)); 2177 2183 return enmReason; 2184 } 2185 2186 2187 /** @interface_method_impl{PDMUSBHLP,pfnQueryGenericUserObject} */ 2188 static DECLCALLBACK(void *) pdmR3UsbHlp_QueryGenericUserObject(PPDMUSBINS pUsbIns, PCRTUUID pUuid) 2189 { 2190 PDMUSB_ASSERT_USBINS(pUsbIns); 2191 PVM pVM = pUsbIns->Internal.s.pVM; 2192 PUVM pUVM = pVM->pUVM; 2193 2194 void *pvRet; 2195 if (pUVM->pVmm2UserMethods->pfnQueryGenericObject) 2196 pvRet = pUVM->pVmm2UserMethods->pfnQueryGenericObject(pUVM->pVmm2UserMethods, pUVM, pUuid); 2197 else 2198 pvRet = NULL; 2199 2200 Log(("pdmR3UsbHlp_QueryGenericUserObject: caller='%s'/%d: returns %#p for %RTuuid\n", 2201 pUsbIns->pReg->szName, pUsbIns->iInstance, pvRet, pUuid)); 2202 return pvRet; 2178 2203 } 2179 2204 … … 2376 2401 pdmR3UsbHlp_VMGetSuspendReason, 2377 2402 pdmR3UsbHlp_VMGetResumeReason, 2378 NULL,2403 pdmR3UsbHlp_QueryGenericUserObject, 2379 2404 NULL, 2380 2405 NULL,
Note:
See TracChangeset
for help on using the changeset viewer.