estructura KSCLOCK_DISPATCH (ks.h)
La estructura KSCLOCK_DISPATCH contiene las devoluciones de llamada necesarias para que un pin implemente un objeto clock.
Sintaxis
typedef struct _KSCLOCK_DISPATCH {
PFNKSPINSETTIMER SetTimer;
PFNKSPINCANCELTIMER CancelTimer;
PFNKSPINCORRELATEDTIME CorrelatedTime;
PFNKSPINRESOLUTION Resolution;
} KSCLOCK_DISPATCH, *PKSCLOCK_DISPATCH;
Miembros
SetTimer
Opcionalmente, contiene un puntero a una función alternativa que se usará para generar devoluciones de llamada del temporizador de DPC en función de una hora de presentación. Si se establece, esta función se usa para establecer temporizadores basados en diferencias en la hora de presentación actual para generar notificaciones de eventos. Si se especifica una función alternativa para establecer temporizadores, también se debe proporcionar una función CancelTimer correspondiente. Se establece en NULL si la función KeSetTimerEx predeterminada se usa para aproximarse a la próxima hora de notificación. Normalmente, esto solo se establecería si se usaba una función KeSetTimerEx . La función debe tener las mismas características que la función predeterminada.
La función debe crear prototipos de la siguiente manera:
BOOLEAN SetTimer (IN PKSPIN Pin,
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN PKDPC Dpc);
Consulte la documentación de KeSetTimerEx para obtener más información sobre la implementación de esta función. Cualquier implementación de cliente debe comportarse de forma similar.
CancelTimer
Opcionalmente, contiene una función alternativa que se usará para cancelar devoluciones de llamada del temporizador pendientes. Si se proporciona una función alternativa para cancelar temporizadores, también se debe proporcionar una función SetTimer correspondiente. Se establece en NULL si se va a usar la función KeCancelTimer predeterminada. La función debe tener las mismas características que la función predeterminada.
La función debe crear prototipos de la siguiente manera:
BOOLEAN CancelTimer (IN PKSPIN Pin,
IN PKTIMER Timer);
Consulte la documentación de KeCancelTimer para obtener más información sobre la implementación de esta función. Cualquier implementación de cliente debe comportarse de forma similar.
CorrelatedTime
Puntero a una función para recuperar la hora del reloj actual y una hora del sistema correlacionada como una operación atómica. La función debe crear prototipos de la siguiente manera:
LONGLONG CorrelatedTime (IN PKSPIN Pin,
OUT PLONGLONG SystemTime);
Se debe devolver la hora del reloj actual y la hora del sistema actual debe colocarse en SystemTime.
Resolution
Puntero a una función para especificar la resolución del reloj. Esto corresponde a la propiedad KS KSPROPERTY_CLOCK_RESOLUTION. Esta función debe notificar la granularidad en términos de unidades de 100 nanosegundos. Para obtener más información, consulte la documentación de KS sobre KSPROPERTY_CLOCK_RESOLUTION.
La función debe crear prototipos de la siguiente manera:
void Resolution (IN PKSPIN Pin,
OUT PKSRESOLUTION Resolution);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible en Microsoft Windows XP y sistemas operativos posteriores y en Microsoft DirectX 8.0 y versiones posteriores. |
Encabezado | ks.h (incluya Ks.h) |