Partager via


KSCLOCK_DISPATCH structure (ks.h)

La structure KSCLOCK_DISPATCH contient les rappels requis pour qu’une broche implémente un objet horloge.

Syntaxe

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

Membres

SetTimer

Contient éventuellement un pointeur vers une autre fonction à utiliser pour générer des rappels de minuteur DPC en fonction d’une heure de présentation. Si cette valeur est définie, cette fonction est utilisée pour définir des minuteurs basés sur des deltas par rapport à l’heure de présentation actuelle afin de générer des notifications d’événements. Si une autre fonction est spécifiée pour définir des minuteurs, une fonction CancelTimer correspondante doit également être fournie. Cette valeur est définie sur NULL si la fonction KeSetTimerEx par défaut est utilisée pour estimer l’heure de notification suivante. Cela ne serait normalement défini que si une fonction KeSetTimerEx était en cours d’utilisation. La fonction doit avoir les mêmes caractéristiques que la fonction par défaut.

La fonction doit être prototype comme suit :

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

Pour plus d’informations sur l’implémentation de cette fonction, consultez la documentation relative à KeSetTimerEx . Toute implémentation cliente doit se comporter de la même manière.

CancelTimer

Contient éventuellement une autre fonction à utiliser pour annuler les rappels de minuteur en attente. Si une autre fonction est fournie pour annuler les minuteurs, une fonction SetTimer correspondante doit également être fournie. Cette valeur est définie sur NULL si la fonction KeCancelTimer par défaut doit être utilisée. La fonction doit avoir les mêmes caractéristiques que la fonction par défaut.

La fonction doit être prototype comme suit :

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

Pour plus d’informations sur l’implémentation de cette fonction, consultez la documentation relative à KeCancelTimer . Toute implémentation cliente doit se comporter de la même manière.

CorrelatedTime

Pointeur vers une fonction pour récupérer l’heure d’horloge actuelle et une heure système corrélée en tant qu’opération atomique. La fonction doit être prototype comme suit :

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

L’heure d’horloge actuelle doit être retournée et l’heure système actuelle doit être placée dans SystemTime.

Resolution

Pointeur vers une fonction pour spécifier la résolution de l’horloge. Cela correspond à la propriété KS KSPROPERTY_CLOCK_RESOLUTION. Cette fonction doit signaler la granularité en termes d’unités de 100 nanosecondes. Pour plus d’informations, consultez la documentation KS sur KSPROPERTY_CLOCK_RESOLUTION.

La fonction doit être prototype comme suit :

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows XP et les systèmes d’exploitation ultérieurs et dans Microsoft DirectX 8.0 et versions ultérieures.
En-tête ks.h (inclure Ks.h)

Voir aussi

KDPC

KSPIN

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION

KeSetTimerEx