Lines Matching refs:pContext

252 static void vboxUsbFltDevOwnerSetLocked(PVBOXUSBFLT_DEVICE pDevice, PVBOXUSBFLTCTX pContext, uintptr_t uFltId, bool fIsOneShot)
255 ++pContext->cActiveFilters;
256 pDevice->pOwner = pContext;
270 static void vboxUsbFltDevOwnerUpdateLocked(PVBOXUSBFLT_DEVICE pDevice, PVBOXUSBFLTCTX pContext, uintptr_t uFltId, bool fIsOneShot)
272 if (pDevice->pOwner != pContext)
276 if (pContext)
277 vboxUsbFltDevOwnerSetLocked(pDevice, pContext, uFltId, fIsOneShot);
279 else if (pContext)
605 static bool vboxUsbFltDevCheckReplugLocked(PVBOXUSBFLT_DEVICE pDevice, PVBOXUSBFLTCTX pContext)
607 ASSERT_WARN(pContext, ("context is NULL!"));
609 LOG(("Current context is (0x%p)", pContext));
622 if (pDevice->pOwner && pContext != pDevice->pOwner)
624 LOG(("Device (0x%p) is owned by another context(0x%p), current is(0x%p)", pDevice, pDevice->pOwner, pContext));
782 PVBOXUSBFLTCTX pContext;
788 PVBOXUSBFLTCTX pContext = pData->pContext;
790 LOG(("Visiting pFile(0x%p), pTopDo(0x%p), pHubDo(0x%p), oContext(0x%p)", pFile, pTopDo, pHubDo, pContext));
812 bool bReplug = vboxUsbFltDevCheckReplugLocked(pDevice, pContext);
900 LOG(("Done Visiting pFile(0x%p), pTopDo(0x%p), pHubDo(0x%p), oContext(0x%p)", pFile, pTopDo, pHubDo, pContext));
905 NTSTATUS VBoxUsbFltFilterCheck(PVBOXUSBFLTCTX pContext)
910 LOG(("Running filters, Context (0x%p)..", pContext));
913 Data.pContext = pContext;
916 LOG(("DONE Running filters, Context (0x%p)", pContext));
921 NTSTATUS VBoxUsbFltClose(PVBOXUSBFLTCTX pContext)
923 LOG(("Closing context(0x%p)", pContext));
927 ASSERT_WARN(pContext, ("null context"));
933 uint32_t cActiveFilters = pContext->cActiveFilters;
934 pContext->bRemoved = TRUE;
935 if (pContext->pChangeEvent)
937 LOG(("seting & closing change event (0x%p)", pContext->pChangeEvent));
938 KeSetEvent(pContext->pChangeEvent,
941 ObDereferenceObject(pContext->pChangeEvent);
942 pContext->pChangeEvent = NULL;
948 RemoveEntryList(&pContext->ListEntry);
953 VBoxUSBFilterRemoveOwner(pContext);
962 if (pDevice->pOwner != pContext)
972 if (vboxUsbFltDevCheckReplugLocked(pDevice, pContext))
991 LOG(("SUCCESS done context(0x%p)", pContext));
995 NTSTATUS VBoxUsbFltCreate(PVBOXUSBFLTCTX pContext)
997 LOG(("Creating context(0x%p)", pContext));
998 memset(pContext, 0, sizeof (*pContext));
999 pContext->Process = RTProcSelf();
1001 InsertHeadList(&g_VBoxUsbFltGlobals.ContextList, &pContext->ListEntry);
1003 LOG(("SUCCESS context(0x%p)", pContext));
1007 int VBoxUsbFltAdd(PVBOXUSBFLTCTX pContext, PUSBFILTER pFilter, uintptr_t *pId)
1009 LOG(("adding filter, Context (0x%p)..", pContext));
1036 int rc = VBoxUSBFilterAdd(pFilter, pContext, &uId);
1056 int VBoxUsbFltRemove(PVBOXUSBFLTCTX pContext, uintptr_t uId)
1058 LOG(("removing filter id(0x%p), Context (0x%p)..", pContext, uId));
1062 int rc = VBoxUSBFilterRemove(pContext, uId);
1084 ASSERT_WARN(pDevice->pOwner == pContext, ("Device(0x%p) owner(0x%p) not match to (0x%p)", pDevice, pDevice->pOwner, pContext));
1085 if (pDevice->pOwner != pContext)
1108 NTSTATUS VBoxUsbFltSetNotifyEvent(PVBOXUSBFLTCTX pContext, HANDLE hEvent)
1126 pOldEvent = pContext->pChangeEvent;
1127 pContext->pChangeEvent = pEvent;
1138 static USBDEVICESTATE vboxUsbDevGetUserState(PVBOXUSBFLTCTX pContext, PVBOXUSBFLT_DEVICE pDevice)
1157 if (pDevice->pOwner != pContext)
1178 static void vboxUsbDevToUserInfo(PVBOXUSBFLTCTX pContext, PVBOXUSBFLT_DEVICE pDevice, PUSBSUP_DEVINFO pDevInfo)
1184 pDevInfo->enmState = vboxUsbDevGetUserState(pContext, pDevice);
1197 NTSTATUS VBoxUsbFltGetDevice(PVBOXUSBFLTCTX pContext, HVBOXUSBDEVUSR hDevice, PUSBSUP_GETDEV_MON pInfo)
1214 USBDEVICESTATE enmUsrState = vboxUsbDevGetUserState(pContext, pDevice);