Partager via


structure KSCLOCK_DISPATCH (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 du 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 sur 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 utilisée. La fonction doit avoir les mêmes caractéristiques que la fonction par défaut.

La fonction doit être prototypeée comme suit :

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

Consultez la documentation de KeSetTimerEx pour plus d’informations sur l’implémentation de cette fonction. Toute implémentation du client doit se comporter de manière similaire.

CancelTimer

Contient éventuellement une autre fonction à utiliser pour annuler les rappels du minuteur en attente. Si une autre fonction est fournie pour annuler des 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ée comme suit :

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

Consultez la documentation de KeCancelTimer pour plus d’informations sur l’implémentation de cette fonction. Toute implémentation du client doit se comporter de manière similaire.

CorrelatedTime

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

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

L’heure de l’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ée comme suit :

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

Exigences

Exigence Valeur
client minimum 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.
d’en-tête ks.h (include Ks.h)

Voir aussi

KDPC

KSPIN

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION

KeSetTimerEx