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) |