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 函式。 如果使用預設 KeSetTimerEx 函式來估計下一個通知時間,這會設定為 NULL。 這通常只有在使用 KeSetTimerEx 函式時才會設定。 函式必須具有與預設函式相同的特性。
函式的原型應如下所示:
BOOLEAN SetTimer (IN PKSPIN Pin,
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN PKDPC Dpc);
如需此函式實作的詳細資訊,請參閱 KeSetTimerEx 的檔。 任何客戶端實作都必須以類似的方式運作。
CancelTimer
選擇性地包含用來取消未完成定時器回呼的替代函式。 如果提供替代函式來取消定時器,也必須提供對應的 SetTimer 函式。 如果要使用預設 KeCancelTimer 函式,這會設定為 NULL。 函式必須具有與預設函式相同的特性。
函式的原型應如下所示:
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 奈秒單位的粒度。 如需詳細資訊,請參閱 KSPROPERTY_CLOCK_RESOLUTION 的 KS 檔。
函式的原型應如下所示:
void Resolution (IN PKSPIN Pin,
OUT PKSRESOLUTION Resolution);
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 可在 Microsoft Windows XP 和更新版本的作業系統和 Microsoft DirectX 8.0 和更新版本中取得。 |
標頭 | ks.h (包含 Ks.h) |