структура KSCLOCK_DISPATCH (ks.h)

Структура KSCLOCK_DISPATCH содержит обратные вызовы, необходимые для реализации объекта часов.

Синтаксис

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

Члены

SetTimer

При необходимости содержит указатель на альтернативную функцию для создания обратных вызовов таймера DPC на основе времени презентации. Если это задано, эта функция используется для задания таймеров на основе разностных изменений в текущее время презентации для создания уведомлений о событиях. Если для задания таймеров задана альтернативная функция, необходимо также указать соответствующую функцию cancelTimer . Это значение имеет значение NULL, если функция KeSetTimer Ex по умолчани ю используется для приближения следующего времени уведомления. Обычно это значение устанавливается только в том случае, если используется функция KeSetTimerEx. Функция должна иметь те же характеристики, что и функция по умолчанию.

Функция должна быть прототипирована следующим образом:

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

Дополнительные сведения о реализации этой функции см. в документации по KeSetTimerEx. Любая реализация клиента должна вести себя аналогично.

CancelTimer

При необходимости содержит альтернативную функцию, используемую при отмене невыполненных обратных вызовов таймера. Если для отмены таймеров предоставляется альтернативная функция, необходимо также указать соответствующую функцию SetTimer. Это значение равно NULL, если используется функция KeCancelTime r по умолчани ю. Функция должна иметь те же характеристики, что и функция по умолчанию.

Функция должна быть прототипирована следующим образом:

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

Дополнительные сведения о реализации этой функции см. в документации по KeCancelTimer. Любая реализация клиента должна вести себя аналогично.

CorrelatedTime

Указатель на функцию для получения текущего времени часов и сопоставленного системного времени в качестве атомарной операции. Функция должна быть прототипирована следующим образом:

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

Текущее время часов должно быть возвращено, а текущее системное время должно быть помещено в SystemTime.

Resolution

Указатель на функцию для указания разрешения часов. Это соответствует свойству KS KSPROPERTY_CLOCK_RESOLUTION. Эта функция должна сообщать о детализации с точки зрения 100-наносекунд единиц. Дополнительные сведения см. в документации по KS по KSPROPERTY_CLOCK_RESOLUTION.

Функция должна быть прототипирована следующим образом:

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Операционных системах Microsoft Windows XP и более поздних версиях, а также в Microsoft DirectX 8.0 и более поздних версиях.
заголовка ks.h (include Ks.h)

См. также

KDPC

KSPIN

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION

KeSetTimerEx