VOID FASTCALL UnlinkRawTimer ( __inout PRAW_TIMER Timer ) { if (Timer->Next != Timer) { PTIMER_LIST TimerList = GetTimerList(); AcquireTimerListLock(TimerList); if (Timer->Next != Timer) { Timer->Next->Delay += Timer->Delay; RemoveTimerFromList(Timer); TimerList->TimerListHead.Delay = ~0; } ReleaseTimerListLock(TimerList); } }
BOOLEAN FASTCALL SetPeriodicRawTimer ( __inout PRAW_TIMER Timer, __in ULONG Period ) { PTIMER_LIST TimerList; // // Validate the *Period* argument. // if (Period == ~0) { SetLastError(ERROR_INVALID_PARAMETER); return FALSE; } // // Get the timer list pointer. // if ((TimerList = GetTimerList()) == NULL) { SetLastError(ERROR_NOT_ENOUGH_MEMORY); return FALSE; } // // Acquire the timer list lock and adjust the base time. // AcquireTimerListLock(TimerList); AdjustBaseTime(TimerList); // // Set the relative raw timer and return success. // SetRawTimerWorker(TimerList, Timer, (Timer->FireTime + Period) - TimerList->BaseTime); return TRUE; }
{ GET_PLUGIN_STUFF (GetTriggerList ()) } // end of CMUSHclientDoc::GetPluginTriggerList // get alias list for a particular plugin VARIANT CMUSHclientDoc::GetPluginAliasList(LPCTSTR PluginID) { GET_PLUGIN_STUFF (GetAliasList ()) } // end of CMUSHclientDoc::GetPluginAliasList // get timer list for a particular plugin VARIANT CMUSHclientDoc::GetPluginTimerList(LPCTSTR PluginID) { GET_PLUGIN_STUFF (GetTimerList ()) } // end of CMUSHclientDoc::GetPluginTimerList // get trigger info for a particular plugin VARIANT CMUSHclientDoc::GetPluginTriggerInfo(LPCTSTR PluginID, LPCTSTR TriggerName, short InfoType) { GET_PLUGIN_STUFF (GetTriggerInfo (TriggerName, InfoType)) } // end of CMUSHclientDoc::GetPluginTriggerInfo // get alias info for a particular plugin VARIANT CMUSHclientDoc::GetPluginAliasInfo(LPCTSTR PluginID, LPCTSTR AliasName, short InfoType) { GET_PLUGIN_STUFF (GetAliasInfo (AliasName, InfoType)) } // end of CMUSHclientDoc::GetPluginAliasInfo