Lines Matching defs:pNew

681                 PPDMDRVINS pNew;
683 rc = MMHyperAlloc(pVM, cb, 64, MM_TAG_PDM_DRIVER, (void **)&pNew);
685 rc = MMR3HeapAllocZEx(pVM, MM_TAG_PDM_DRIVER, cb, (void **)&pNew);
686 if (pNew)
691 pNew->u32Version = PDM_DRVINS_VERSION;
692 pNew->iInstance = pDrv->iNextInstance;
693 pNew->Internal.s.pUp = pDrvAbove ? pDrvAbove : NULL;
694 //pNew->Internal.s.pDown = NULL;
695 pNew->Internal.s.pLun = pLun;
696 pNew->Internal.s.pDrv = pDrv;
697 pNew->Internal.s.pVMR3 = pVM;
698 pNew->Internal.s.pVMR0 = pDrv->pReg->fFlags & PDM_DRVREG_FLAGS_R0 ? pVM->pVMR0 : NIL_RTR0PTR;
699 pNew->Internal.s.pVMRC = pDrv->pReg->fFlags & PDM_DRVREG_FLAGS_RC ? pVM->pVMRC : NIL_RTRCPTR;
700 //pNew->Internal.s.fDetaching = false;
701 pNew->Internal.s.fVMSuspended = true; /** @todo: should be 'false', if driver is attached at runtime. */
702 //pNew->Internal.s.fVMReset = false;
703 pNew->Internal.s.fHyperHeap = fHyperHeap;
704 //pNew->Internal.s.pfnAsyncNotify = NULL;
705 pNew->Internal.s.pCfgHandle = pNode;
706 pNew->pReg = pDrv->pReg;
707 pNew->pCfg = pConfigNode;
708 pNew->pUpBase = pBaseInterface;
710 //pNew->pDownBase = NULL;
711 //pNew->IBase.pfnQueryInterface = NULL;
712 //pNew->fTracing = 0;
713 pNew->idTracing = ++pVM->pdm.s.idTracingOther;
714 pNew->pHlpR3 = &g_pdmR3DrvHlp;
715 pNew->pvInstanceDataR3 = &pNew->achInstanceData[0];
718 pNew->pvInstanceDataR0 = MMHyperR3ToR0(pVM, &pNew->achInstanceData[0]);
719 rc = PDMR3LdrGetSymbolR0(pVM, NULL, "g_pdmR0DrvHlp", &pNew->pHlpR0);
725 pNew->pvInstanceDataR0 = MMHyperR3ToRC(pVM, &pNew->achInstanceData[0]);
726 rc = PDMR3LdrGetSymbolRC(pVM, NULL, "g_pdmRCDrvHlp", &pNew->pHlpRC);
738 pDrvAbove->pDownBase = &pNew->IBase;
739 pDrvAbove->Internal.s.pDown = pNew;
742 pLun->pTop = pNew;
744 pLun->pBottom = pNew;
749 rc = pDrv->pReg->pfnConstruct(pNew, pNew->pCfg, 0 /*fFlags*/);
752 AssertPtr(pNew->IBase.pfnQueryInterface);
753 Assert(pNew->IBase.pfnQueryInterface(&pNew->IBase, PDMIBASE_IID) == &pNew->IBase);
756 *ppBaseInterface = &pNew->IBase;
759 pNew, pDrv->pReg->szName, pNew->iInstance,
766 pNew, pDrv->pReg->szName, pNew->iInstance,
771 pdmR3DrvDestroyChain(pNew, PDM_TACH_FLAGS_NO_CALLBACKS);