Lines Matching refs:pContext

24     PVBOXVIDEOCM_CTX pContext;
38 typedef DECLCALLBACK(VOID) FNVBOXVIDEOCM_CMD_CB(PVBOXVIDEOCM_CTX pContext, struct VBOXVIDEOCM_CMD_CTL_KM *pCmd, PVOID pvContext);
81 void* vboxVideoCmCmdReinitForContext(void *pvCmd, PVBOXVIDEOCM_CTX pContext)
84 pHdr->pContext = pContext;
85 pHdr->CmdHdr.u64UmData = pContext->u64UmData;
89 void* vboxVideoCmCmdCreate(PVBOXVIDEOCM_CTX pContext, uint32_t cbSize)
98 Assert(pContext->pSession);
99 if (!pContext->pSession)
108 pCmd->pContext = pContext;
111 pCmd->CmdHdr.u64UmData = pContext->u64UmData;
117 static PVBOXVIDEOCM_CMD_CTL_KM vboxVideoCmCmdCreateKm(PVBOXVIDEOCM_CTX pContext, VBOXVIDEOCM_CMD_CTL_KM_TYPE enmType,
121 PVBOXVIDEOCM_CMD_CTL_KM pCmd = (PVBOXVIDEOCM_CMD_CTL_KM)vboxVideoCmCmdCreate(pContext, cbSize + sizeof (*pCmd));
130 static DECLCALLBACK(VOID) vboxVideoCmCmdCbSetEventAndDereference(PVBOXVIDEOCM_CTX pContext, PVBOXVIDEOCM_CMD_CTL_KM pCmd, PVOID pvContext)
138 NTSTATUS vboxVideoCmCmdSubmitCompleteEvent(PVBOXVIDEOCM_CTX pContext, PKEVENT pEvent)
141 PVBOXVIDEOCM_CMD_CTL_KM pCmd = vboxVideoCmCmdCreateKm(pContext, VBOXVIDEOCM_CMD_CTL_KM_TYPE_POST_INVOKE,
220 vboxVideoCmCmdPostByHdr(pHdr->pContext->pSession, pHdr, cbSize);
223 NTSTATUS vboxVideoCmCmdVisit(PVBOXVIDEOCM_CTX pContext, BOOLEAN bEntireSession, PFNVBOXVIDEOCMCMDVISITOR pfnVisitor, PVOID pvVisitor)
225 PVBOXVIDEOCM_SESSION pSession = pContext->pSession;
239 if (bEntireSession || pHdr->pContext == pContext)
244 UINT fRet = pfnVisitor(pHdr->pContext, pvBody, pHdr->CmdHdr.cbCmd, pvVisitor);
270 void vboxVideoCmCtxInitEmpty(PVBOXVIDEOCM_CTX pContext)
272 InitializeListHead(&pContext->SessionEntry);
273 pContext->pSession = NULL;
274 pContext->u64UmData = 0ULL;
277 static void vboxVideoCmSessionCtxAddLocked(PVBOXVIDEOCM_SESSION pSession, PVBOXVIDEOCM_CTX pContext)
279 InsertHeadList(&pSession->ContextList, &pContext->SessionEntry);
280 pContext->pSession = pSession;
283 void vboxVideoCmSessionCtxAdd(PVBOXVIDEOCM_SESSION pSession, PVBOXVIDEOCM_CTX pContext)
289 vboxVideoCmSessionCtxAddLocked(pSession, pContext);
314 static void vboxVideoCmSessionCtxPpList(PVBOXVIDEOCM_CTX pContext, PLIST_ENTRY pHead)
322 pCmd->pfnCb(pContext, pCmd, pCmd->pvCb);
326 static void vboxVideoCmSessionCtxDetachCmdsLocked(PLIST_ENTRY pEntriesHead, PVBOXVIDEOCM_CTX pContext, PLIST_ENTRY pDstHead)
335 if (pCmd->pContext == pContext)
352 bool vboxVideoCmSessionCtxRemoveLocked(PVBOXVIDEOCM_SESSION pSession, PVBOXVIDEOCM_CTX pContext)
364 pContext->pSession = NULL;
365 RemoveEntryList(&pContext->SessionEntry);
375 vboxVideoCmSessionCtxDetachCmdsLocked(&pSession->CommandsList, pContext, &RemainedList);
376 vboxVideoCmSessionCtxDetachCmdsLocked(&pSession->PpCommandsList, pContext, &RemainedPpList);
388 vboxVideoCmSessionCtxPpList(pContext, &RemainedPpList);
399 NTSTATUS vboxVideoCmSessionCreateLocked(PVBOXVIDEOCM_MGR pMgr, PVBOXVIDEOCM_SESSION *ppSession, PKEVENT pUmEvent, PVBOXVIDEOCM_CTX pContext)
413 vboxVideoCmSessionCtxAddLocked(pSession, pContext);
428 NTSTATUS vboxVideoCmCtxAdd(PVBOXVIDEOCM_MGR pMgr, PVBOXVIDEOCM_CTX pContext, HANDLE hUmEvent, uint64_t u64UmData)
453 pContext->u64UmData = u64UmData;
457 Status = vboxVideoCmSessionCreateLocked(pMgr, &pSession, pUmEvent, pContext);
462 /* Status = */vboxVideoCmSessionCtxAdd(pSession, pContext);
478 NTSTATUS vboxVideoCmCtxRemove(PVBOXVIDEOCM_MGR pMgr, PVBOXVIDEOCM_CTX pContext)
480 PVBOXVIDEOCM_SESSION pSession = pContext->pSession;
487 vboxVideoCmSessionCtxRemoveLocked(pSession, pContext);
526 VOID vboxVideoCmProcessKm(PVBOXVIDEOCM_CTX pContext, PVBOXVIDEOCM_CMD_CTL_KM pCmd)
528 PVBOXVIDEOCM_SESSION pSession = pContext->pSession;
534 pCmd->pfnCb(pContext, pCmd, pCmd->pvCb);
556 NTSTATUS vboxVideoCmEscape(PVBOXVIDEOCM_CTX pContext, PVBOXDISPIFESCAPE_GETVBOXVIDEOCMCMD pCmd, uint32_t cbCmd)
562 PVBOXVIDEOCM_SESSION pSession = pContext->pSession;
581 vboxVideoCmSessionCtxDetachCmdsLocked(&pSession->PpCommandsList, pContext, &DetachedPpList);
636 vboxVideoCmSessionCtxPpList(pContext, &DetachedPpList);
656 vboxVideoCmProcessKm(pContext, VBOXVIDEOCM_BODY(pHdr, VBOXVIDEOCM_CMD_CTL_KM));