Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Структура 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) |