Freigeben über


KSCLOCK_DISPATCH Struktur (ks.h)

Die KSCLOCK_DISPATCH-Struktur enthält die Rückrufe, die für eine Pin erforderlich sind, um ein Uhrobjekt zu implementieren.

Syntax

typedef struct _KSCLOCK_DISPATCH {
  PFNKSPINSETTIMER       SetTimer;
  PFNKSPINCANCELTIMER    CancelTimer;
  PFNKSPINCORRELATEDTIME CorrelatedTime;
  PFNKSPINRESOLUTION     Resolution;
} KSCLOCK_DISPATCH, *PKSCLOCK_DISPATCH;

Angehörige

SetTimer

Enthält optional einen Zeiger auf eine alternative Funktion zum Generieren von DPC-Zeitgeberrückrufen basierend auf einer Präsentationszeit. Wenn dies festgelegt ist, wird diese Funktion verwendet, um Zeitgeber basierend auf Deltas auf die aktuelle Präsentationszeit festzulegen, um Ereignisbenachrichtigungen zu generieren. Wenn eine alternative Funktion angegeben ist, um Zeitgeber festzulegen, muss auch eine entsprechende CancelTimer--Funktion bereitgestellt werden. Dies wird auf NULL- festgelegt, wenn die Standardfunktion KeSetTimerEx- verwendet wird, um die nächste Benachrichtigungszeit anzunähern. Dies wäre normalerweise nur dann festgelegt, wenn eine KeSetTimerEx--Funktion verwendet wurde. Die Funktion muss dieselben Merkmale aufweisen wie die Standardfunktion.

Die Funktion sollte wie folgt prototypiert werden:

BOOLEAN SetTimer (IN PKSPIN Pin,
    IN PKTIMER Timer,
    IN LARGE_INTEGER DueTime,
    IN PKDPC Dpc);

Ausführliche Informationen zur Implementierung dieser Funktion finden Sie in der Dokumentation zu KeSetTimerEx-. Jede Clientimplementierung muss sich auf ähnliche Weise verhalten.

CancelTimer

Enthält optional eine alternative Funktion, die beim Abbrechen ausstehender Timerrückrufe verwendet werden soll. Wenn eine alternative Funktion zum Abbrechen von Zeitgebern bereitgestellt wird, muss auch eine entsprechende SetTimer--Funktion bereitgestellt werden. Dies ist auf NULL- festgelegt, wenn die standardmäßige KeCancelTimer--Funktion verwendet werden soll. Die Funktion muss dieselben Merkmale aufweisen wie die Standardfunktion.

Die Funktion sollte wie folgt prototypiert werden:

BOOLEAN CancelTimer (IN PKSPIN Pin,
    IN PKTIMER Timer);

Ausführliche Informationen zur Implementierung dieser Funktion finden Sie in der Dokumentation zu KeCancelTimer-. Jede Clientimplementierung muss sich auf ähnliche Weise verhalten.

CorrelatedTime

Ein Zeiger auf eine Funktion zum Abrufen der aktuellen Uhrzeit und einer korrelierten Systemzeit als atomer Vorgang. Die Funktion sollte wie folgt prototypiert werden:

LONGLONG CorrelatedTime (IN PKSPIN Pin,
    OUT PLONGLONG SystemTime);

Die aktuelle Uhrzeit sollte zurückgegeben werden, und die aktuelle Systemzeit sollte in SystemTime-platziert werden.

Resolution

Ein Zeiger auf eine Funktion, um die Auflösung der Uhr anzugeben. Dies entspricht der KS-Eigenschaft KSPROPERTY_CLOCK_RESOLUTION. Diese Funktion sollte die Granularität in Bezug auf 100-Nanosekundeneinheiten melden. Weitere Informationen finden Sie in der KS-Dokumentation zu KSPROPERTY_CLOCK_RESOLUTION.

Die Funktion sollte wie folgt prototypiert werden:

void Resolution (IN PKSPIN Pin,
        OUT PKSRESOLUTION Resolution);

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Microsoft Windows XP und höheren Betriebssystemen und in Microsoft DirectX 8.0 und höheren Versionen.
Header- ks.h (enthalten Ks.h)

Siehe auch

KDPC-

KSPIN-

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION-

KeSetTimerEx