Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 131 of file api.cpp.
{ PTIMER_CONTEXT CurContext; KIRQL OldIrql; PLIST_ENTRY ListEntry; BOOLEAN bFound; PPCLASS_DEVICE_EXTENSION DeviceExtension; PC_ASSERT_IRQL_EQUAL(PASSIVE_LEVEL); if (!pDeviceObject || !pDeviceObject->DeviceExtension) return STATUS_INVALID_PARAMETER; DeviceExtension = (PPCLASS_DEVICE_EXTENSION)pDeviceObject->DeviceExtension; KeAcquireSpinLock(&DeviceExtension->TimerListLock, &OldIrql); ListEntry = DeviceExtension->TimerList.Flink; bFound = FALSE; while(ListEntry != &DeviceExtension->TimerList) { CurContext = (PTIMER_CONTEXT)CONTAINING_RECORD(ListEntry, TIMER_CONTEXT, Entry); if (CurContext->Context == pContext && CurContext->pTimerRoutine == pTimerRoutine) { bFound = TRUE; RemoveEntryList(&CurContext->Entry); FreeItem(CurContext, TAG_PORTCLASS); break; } ListEntry = ListEntry->Flink; } KeReleaseSpinLock(&DeviceExtension->TimerListLock, OldIrql); if (bFound) return STATUS_SUCCESS; else return STATUS_NOT_FOUND; }