Status des WaitableTimers abfragen - wie?



  • Hallo Experten,

    In Windows gibt es den sogenannten Waitable Timer. Zu erzeugen mit CreateWaitableTimer und aufzulösen mit CloseHandle.
    Weiß jemand eine Möglichkeit, wie man das Handle des Timers befragen kann, ob der zugehörige Timer sich bereits im 'Signaled State' befindet oder nicht?

    Fragt
    Werner



  • Dazu kannst Du WaitForSingleObject(..) und ähnliche Funktionen benutzen.
    Simon

    Edit
    Hier noch ein Link:
    http://msdn.microsoft.com/en-us/library/ms687008.aspx



  • theta schrieb:

    Dazu kannst Du WaitForSingleObject(..) und ähnliche Funktionen benutzen.

    .. das tue ich ja bereits. Nur ich habe dabei ein Problem, welches ich mir nicht mehr erklären kann.
    Einer der Timer, auf den der WaitForMultipleObjects-Aufruf wartet, geht anscheinend nie oder sehr stark verzögert in den 'state signaled'. Mit anderen Worten: der Timer kommt nicht zurück und das Programm bleibt hängen. Einen Deadlock oder ähnliches konnte ich bereits ausschließen, da andere Timer im identischen Thread brav weiterarbeiten.
    Ansonsten ist auch der Code für alle Timer identisch.

    Daher die Frage, ob ich den Zustand des Timers noch irgendwie anders abfragen kann (GetState-mäßig).

    Gruß
    Werner



  • Daher die Frage, ob ich den Zustand des Timers noch irgendwie anders abfragen kann (GetState-mäßig).

    Ich kenne keine andere Möglichkeit.

    Mit 0 ms Timeout fragst Du nur den Status ab und wartest nicht zusätzlich.
    Ev. hilft Dir das weiter.

    Simon


Anmelden zum Antworten