struttura KSCLOCK_DISPATCH (ks.h)
La struttura KSCLOCK_DISPATCH contiene i callback necessari per un pin per implementare un oggetto clock.
Sintassi
typedef struct _KSCLOCK_DISPATCH {
PFNKSPINSETTIMER SetTimer;
PFNKSPINCANCELTIMER CancelTimer;
PFNKSPINCORRELATEDTIME CorrelatedTime;
PFNKSPINRESOLUTION Resolution;
} KSCLOCK_DISPATCH, *PKSCLOCK_DISPATCH;
Membri
SetTimer
Facoltativamente contiene un puntatore a una funzione alternativa da usare per generare callback timer DPC in base a un'ora di presentazione. Se questa opzione è impostata, questa funzione viene usata per impostare timer basati su delta sull'ora di presentazione corrente per generare notifiche degli eventi. Se si specifica una funzione alternativa per impostare i timer, deve essere specificata anche una funzione CancelTimer corrispondente. Questa proprietà è impostata su null se la funzione KeSetTimerEx predefinita viene utilizzata per approssimare la volta successiva della notifica. In genere viene impostato solo se è in uso una funzione KeSetTimerEx. La funzione deve avere le stesse caratteristiche della funzione predefinita.
La funzione deve essere prototipo come segue:
BOOLEAN SetTimer (IN PKSPIN Pin,
IN PKTIMER Timer,
IN LARGE_INTEGER DueTime,
IN PKDPC Dpc);
Per informazioni dettagliate sull'implementazione di questa funzione, vedere la documentazione per KeSetTimerEx. Qualsiasi implementazione client deve comportarsi in modo simile.
CancelTimer
Facoltativamente contiene una funzione alternativa da utilizzare per annullare i callback timer in sospeso. Se viene fornita una funzione alternativa per annullare i timer, deve essere specificata anche una funzione SetTimer corrispondente. Questa proprietà è impostata su NULL se deve essere usata la funzione kecancelTimer predefinita. La funzione deve avere le stesse caratteristiche della funzione predefinita.
La funzione deve essere prototipo come segue:
BOOLEAN CancelTimer (IN PKSPIN Pin,
IN PKTIMER Timer);
Per informazioni dettagliate sull'implementazione di questa funzione, vedere la documentazione per KeCancelTimer. Qualsiasi implementazione client deve comportarsi in modo simile.
CorrelatedTime
Puntatore a una funzione per recuperare l'ora dell'orologio corrente e un'ora di sistema correlata come operazione atomica. La funzione deve essere prototipo come segue:
LONGLONG CorrelatedTime (IN PKSPIN Pin,
OUT PLONGLONG SystemTime);
L'ora dell'orologio corrente deve essere restituita e l'ora di sistema corrente deve essere inserita in SystemTime.
Resolution
Puntatore a una funzione per specificare la risoluzione dell'orologio. Corrisponde alla proprietà KS KSPROPERTY_CLOCK_RESOLUTION. Questa funzione deve segnalare la granularità in termini di unità di 100 nanosecondi. Per altre informazioni, vedere la documentazione KS su KSPROPERTY_CLOCK_RESOLUTION.
La funzione deve essere prototipo come segue:
void Resolution (IN PKSPIN Pin,
OUT PKSRESOLUTION Resolution);
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Microsoft Windows XP e nei sistemi operativi successivi e in Microsoft DirectX 8.0 e versioni successive. |
intestazione | ks.h (include Ks.h) |