Condividi tramite


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)

Vedere anche

KDPC

KSPIN

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION

KeSetTimerEx