Lines Matching defs:g_ctx

47 static VBoxGlobalContext g_ctx = {};
54 NTSTATUS Status = IoGetDeviceObjectPointer(&UniName, FILE_ALL_ACCESS, &g_ctx.Gdc.pFo, &g_ctx.Gdc.pDo);
58 memset(&g_ctx.Gdc, 0, sizeof (g_ctx.Gdc));
65 return !!g_ctx.Gdc.pDo;
70 if (!g_ctx.Gdc.pFo)
73 ObDereferenceObject(g_ctx.Gdc.pFo);
84 pIrp = IoBuildDeviceIoControlRequest(uCtl, g_ctx.Gdc.pDo, NULL, 0, NULL, 0, TRUE, pEvent, pIoStatus);
96 Status = IoCallDriver(g_ctx.Gdc.pDo, pIrp);
121 PVBOXMOUSE_DEVEXT pDevExt = (PVBOXMOUSE_DEVEXT)ASMAtomicUoReadPtr((void * volatile *)&g_ctx.pCurrentDevExt);
129 VBoxDrvNotifyServiceCB(pDevExt, &g_ctx.LastReportedData, &g_ctx.LastReportedData + 1, &InputDataConsumed);
145 return g_ctx.fIsNewProtEnabled;
167 KeInitializeSpinLock(&g_ctx.SyncLock);
168 InitializeListHead(&g_ctx.DevExtList);
169 /* we assume the new prot data in g_ctx is zero-initialized (see g_ctx definition) */
174 g_ctx.fIsNewProtEnabled = TRUE;
185 Assert(IsListEmpty(&g_ctx.DevExtList));
192 g_ctx.fIsNewProtEnabled = FALSE;
216 KeAcquireSpinLock(&g_ctx.SyncLock, &Irql);
217 InsertHeadList(&g_ctx.DevExtList, &pDevExt->ListEntry);
218 if (!g_ctx.pCurrentDevExt)
220 ASMAtomicWritePtr(&g_ctx.pCurrentDevExt, pDevExt);
224 KeReleaseSpinLock(&g_ctx.SyncLock, Irql);
241 KeAcquireSpinLock(&g_ctx.SyncLock, &Irql);
243 if (g_ctx.pCurrentDevExt == pDevExt)
246 g_ctx.pCurrentDevExt = NULL;
247 for (PLIST_ENTRY pCur = g_ctx.DevExtList.Flink; pCur != &g_ctx.DevExtList; pCur = pCur->Flink)
250 ASMAtomicWritePtr(&g_ctx.pCurrentDevExt, pNewCurDevExt);
257 KeReleaseSpinLock(&g_ctx.SyncLock, Irql);
268 KeAcquireSpinLock(&g_ctx.SyncLock, &Irql);
290 g_ctx.LastReportedData.UnitId = pData->UnitId;
302 KeReleaseSpinLock(&g_ctx.SyncLock, Irql);
307 return InterlockedCompareExchange(&g_ctx.fVBGLInited, TRUE, TRUE) == TRUE;
312 return InterlockedCompareExchange(&g_ctx.fVBGLInitFailed, TRUE, TRUE) == TRUE;
317 return InterlockedCompareExchange(&g_ctx.fHostInformed, TRUE, TRUE) == TRUE;
322 return InterlockedCompareExchange(&g_ctx.fHostMouseFound, TRUE, TRUE) == TRUE;
328 LONG callCnt = InterlockedIncrement(&g_ctx.cDevicesStarted);
339 InterlockedExchange(&g_ctx.fVBGLInited, TRUE);
344 InterlockedExchange (&g_ctx.fVBGLInitFailed, TRUE);
420 InterlockedExchange(&g_ctx.fHostMouseFound, TRUE);
458 InterlockedExchange(&g_ctx.fHostInformed, TRUE);
527 InterlockedExchange(&g_ctx.fHostInformed, FALSE);
535 LONG callCnt = InterlockedDecrement(&g_ctx.cDevicesStarted);
544 InterlockedExchange(&g_ctx.fVBGLInitFailed, TRUE);
549 InterlockedExchange(&g_ctx.fVBGLInited, FALSE);
550 InterlockedExchange(&g_ctx.fVBGLInitFailed, FALSE);