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;
Members
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 impostazione è impostata, questa funzione viene usata per impostare i timer in base ai delta all'ora di presentazione corrente per generare notifiche degli eventi. Se viene specificata una funzione alternativa per impostare i timer, è necessario specificare anche una funzione CancelTimer corrispondente. Questa proprietà è impostata su NULL se la funzione KeSetTimerEx predefinita viene usata per approssimare l'ora di notifica successiva. Questa impostazione viene in genere impostata 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 relativa a 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, è necessario specificare 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 relativa a 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 di KS su KSPROPERTY_CLOCK_RESOLUTION.
La funzione deve essere prototipo come segue:
void Resolution (IN PKSPIN Pin,
OUT PKSRESOLUTION Resolution);
Requisiti
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) |