Lines Matching refs:pDevExt

251             PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDeviceObject->DeviceExtension;
252 RT_ZERO(*pDevExt);
254 KeInitializeSpinLock(&pDevExt->MouseEventAccessLock);
256 pDevExt->pDeviceObject = pDeviceObject;
257 pDevExt->prevDevState = STOPPED;
258 pDevExt->devState = STOPPED;
260 pDevExt->pNextLowerDriver = IoAttachDeviceToDeviceStack(pDeviceObject, pDevObj);
261 if (pDevExt->pNextLowerDriver != NULL)
268 vbgdNtBugCheckCallback(pDevExt); /* Ignore failure! */
281 IoDetachDevice(pDevExt->pNextLowerDriver);
376 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
396 PCIBus, pDevExt->busNumber, pDevExt->slotNumber,
401 rc = vbgdNtScanPCIResourceList(pResourceList, pDevExt);
406 rc = vbgdNtScanPCIResourceList(pStack->Parameters.StartDevice.AllocatedResourcesTranslated, pDevExt);
416 rc = vbgdNtMapVMMDevMemory(pDevExt,
417 pDevExt->vmmDevPhysMemoryAddress,
418 pDevExt->vmmDevPhysMemoryLength,
423 pDevExt->Core.pVMMDevMemory = (VMMDevMemory *)pvMMIOBase;
425 LogFunc(("pvMMIOBase=0x%p, pDevExt=0x%p, pDevExt->Core.pVMMDevMemory=0x%p\n",
426 pvMMIOBase, pDevExt, pDevExt ? pDevExt->Core.pVMMDevMemory : NULL));
428 int vrc = VbgdCommonInitDevExt(&pDevExt->Core,
429 pDevExt->Core.IOPortBase,
445 int vrc = VbglGRAlloc((VMMDevRequestHeader **)&pDevExt->pPowerStateRequest,
461 IoInitializeDpcRequest(pDevExt->pDeviceObject, vbgdNtDpcHandler);
467 if ( pDevExt->interruptLevel
468 || pDevExt->interruptVector)
471 pDevExt->busNumber, pDevExt->interruptLevel, pDevExt->interruptVector));
474 pDevExt->busNumber,
475 pDevExt->interruptLevel,
476 pDevExt->interruptVector,
478 &pDevExt->interruptAffinity);
486 if (pDevExt->interruptVector)
490 rc = IoConnectInterrupt(&pDevExt->pInterruptObject, /* Out: interrupt object. */
492 pDevExt, /* Device context. */
499 pDevExt->interruptVector, /* Interrupt vector. */
500 (KIRQL)pDevExt->interruptLevel, /* Interrupt level. */
501 (KIRQL)pDevExt->interruptLevel, /* Interrupt level. */
503 pDevExt->interruptMode, /* LevelSensitive or Latched. */
505 pDevExt->interruptAffinity, /* CPU affinity. */
517 int vrc = VbgdCommonCreateKernelSession(&pDevExt->Core, &pDevExt->pKernelSession);
532 pDevExt->Core.fLoggingEnabled = ulValue >= 0xFF;
533 if (pDevExt->Core.fLoggingEnabled)
539 VBOXGUEST_UPDATE_DEVSTATE(pDevExt, WORKING);
542 pDevExt->pInterruptObject = NULL;
562 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
563 if (pDevExt)
568 if (pDevExt->pKernelSession)
570 VbgdCommonCloseSession(pDevExt, pDevExt->pKernelSession);
571 pDevExt->pKernelSession = NULL;
576 if (pDevExt->pInterruptObject)
578 IoDisconnectInterrupt(pDevExt->pInterruptObject);
579 pDevExt->pInterruptObject = NULL;
586 hlpDeregisterBugCheckCallback(pDevExt); /* ignore failure! */
589 vbgdNtUnmapVMMDevMemory(pDevExt);
643 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
646 if (pDevExt->devState != WORKING)
648 LogFunc(("Device is not working currently, state=%d\n", pDevExt->devState));
675 vrc = VbgdCommonCreateUserSession(&pDevExt->Core, &pSession);
680 vrc = VbgdCommonCreateKernelSession(&pDevExt->Core, &pSession);
706 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
710 LogFlowFunc(("pDevExt=0x%p, pFileObj=0x%p, FsContext=0x%p\n",
711 pDevExt, pFileObj, pFileObj->FsContext));
717 VbgdCommonCloseSession(&pDevExt->Core, pSession);
738 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
752 LogFlowFunc(("uCmd=%u, pDevExt=0x%p, pSession=0x%p\n",
753 uCmd, pDevExt, pSession));
765 pSession = pDevExt->pKernelSession;
775 int vrc = VbgdCommonIoCtl(uCmd, &pDevExt->Core, pSession, pBuf, cbData, &cbDataReturned);
827 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
855 KeAcquireSpinLock(&pDevExt->MouseEventAccessLock, &OldIrql);
856 pDevExt->Core.MouseNotifyCallback = *pInfo;
857 KeReleaseSpinLock(&pDevExt->MouseEventAccessLock, OldIrql);
891 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
898 return IoCallDriver(pDevExt->pNextLowerDriver, pIrp);
911 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
915 VMMDevPowerStateRequest *pReq = pDevExt->pPowerStateRequest;
959 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pDevObj->DeviceExtension;
960 Log3Func(("pDevExt=0x%p\n", pDevExt));
963 if (ASMAtomicXchgU32(&pDevExt->Core.u32MousePosChangedSeq, 0))
968 KeAcquireSpinLockAtDpcLevel(&pDevExt->MouseEventAccessLock);
970 if (pDevExt->Core.MouseNotifyCallback.pfnNotify)
971 pDevExt->Core.MouseNotifyCallback.pfnNotify(pDevExt->Core.MouseNotifyCallback.pvUser);
973 KeReleaseSpinLockFromDpcLevel(&pDevExt->MouseEventAccessLock);
978 VbgdCommonWaitDoWakeUps(&pDevExt->Core);
991 PVBOXGUESTDEVEXTWIN pDevExt = (PVBOXGUESTDEVEXTWIN)pServiceContext;
992 if (pDevExt == NULL)
995 /*Log3Func(("pDevExt=0x%p, pVMMDevMemory=0x%p\n", pDevExt, pDevExt ? pDevExt->pVMMDevMemory : NULL));*/
998 BOOLEAN fIRQTaken = VbgdCommonISR(&pDevExt->Core);
1004 Log3Func(("IRQ was taken! pInterrupt=0x%p, pDevExt=0x%p\n", pInterrupt, pDevExt));
1005 if (ASMAtomicUoReadU32( &pDevExt->Core.u32MousePosChangedSeq)
1006 || !RTListIsEmpty(&pDevExt->Core.WakeUpList))
1009 IoRequestDpc(pDevExt->pDeviceObject, pDevExt->pCurrentIrp, NULL);
1019 * @param pDevExt Device extension structure.
1021 void VbgdNativeISRMousePollEvent(PVBOXGUESTDEVEXT pDevExt)
1023 NOREF(pDevExt);
1025 * we rely on the pDevExt->u32MousePosChangedSeq to be set to a non-zero value on a mouse event
1070 * @param pDevExt Device extension
1072 NTSTATUS vbgdNtScanPCIResourceList(PCM_RESOURCE_LIST pResList, PVBOXGUESTDEVEXTWIN pDevExt)
1082 PVBOXGUESTWINBASEADDRESS pBaseAddress = pDevExt->pciBaseAddress;
1101 pDevExt->Core.IOPortBase = (RTIOPORT)pPartialData->u.Port.Start.LowPart;
1128 pDevExt->interruptLevel = pPartialData->u.Interrupt.Level;
1129 pDevExt->interruptVector = pPartialData->u.Interrupt.Vector;
1130 pDevExt->interruptAffinity = pPartialData->u.Interrupt.Affinity;
1134 pDevExt->interruptMode = Latched;
1136 pDevExt->interruptMode = LevelSensitive;
1156 pDevExt->vmmDevPhysMemoryAddress = pPartialData->u.Memory.Start;
1157 pDevExt->vmmDevPhysMemoryLength = (ULONG)pPartialData->u.Memory.Length;
1188 pDevExt->pciAddressCount = rangeCount;
1198 * @param pDevExt The device extension.
1204 NTSTATUS vbgdNtMapVMMDevMemory(PVBOXGUESTDEVEXTWIN pDevExt, PHYSICAL_ADDRESS PhysAddr, ULONG cbToMap,
1207 AssertPtrReturn(pDevExt, VERR_INVALID_POINTER);
1235 vbgdNtUnmapVMMDevMemory(pDevExt);
1249 * @param pDevExt The device extension.
1251 void vbgdNtUnmapVMMDevMemory(PVBOXGUESTDEVEXTWIN pDevExt)
1253 LogFlowFunc(("pVMMDevMemory = 0x%x\n", pDevExt->Core.pVMMDevMemory));
1254 if (pDevExt->Core.pVMMDevMemory)
1256 MmUnmapIoSpace((void*)pDevExt->Core.pVMMDevMemory, pDevExt->vmmDevPhysMemoryLength);
1257 pDevExt->Core.pVMMDevMemory = NULL;
1260 pDevExt->vmmDevPhysMemoryAddress.QuadPart = 0;
1261 pDevExt->vmmDevPhysMemoryLength = 0;