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;
}
Ejemplo n.º 3
0
{
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