Compartilhar via


estrutura KSCLOCK_DISPATCH (ks.h)

A estrutura KSCLOCK_DISPATCH contém os retornos de chamada necessários para que um pino implemente um objeto de relógio.

Sintaxe

typedef struct _KSCLOCK_DISPATCH {
  PFNKSPINSETTIMER       SetTimer;
  PFNKSPINCANCELTIMER    CancelTimer;
  PFNKSPINCORRELATEDTIME CorrelatedTime;
  PFNKSPINRESOLUTION     Resolution;
} KSCLOCK_DISPATCH, *PKSCLOCK_DISPATCH;

Membros

SetTimer

Opcionalmente, contém um ponteiro para uma função alternativa a ser usada na geração de retornos de chamada de temporizador de DPC com base em um tempo de apresentação. Se isso for definido, essa função será usada para definir temporizadores com base em deltas para o tempo de apresentação atual para gerar notificações de eventos. Se uma função alternativa for especificada para definir temporizadores, uma função CancelTimer correspondente também deverá ser fornecida. Isso será definido como NULL se a função KeSetTimerEx padrão for usada para aproximar a próxima hora de notificação. Isso normalmente seria definido somente se uma função KeSetTimerEx estivesse sendo usada. A função deve ter as mesmas características que a função padrão.

A função deve ser protótipo da seguinte maneira:

BOOLEAN SetTimer (IN PKSPIN Pin,
    IN PKTIMER Timer,
    IN LARGE_INTEGER DueTime,
    IN PKDPC Dpc);

Consulte a documentação de KeSetTimerEx para obter detalhes sobre a implementação dessa função. Qualquer implementação de cliente deve se comportar de maneira semelhante.

CancelTimer

Opcionalmente, contém uma função alternativa a ser usada no cancelamento de retornos de chamada de temporizador pendentes. Se uma função alternativa for fornecida para cancelar temporizadores, uma função SetTimer correspondente também deverá ser fornecida. Isso será definido como NULL se a função KeCancelTimer padrão for usada. A função deve ter as mesmas características que a função padrão.

A função deve ser protótipo da seguinte maneira:

BOOLEAN CancelTimer (IN PKSPIN Pin,
    IN PKTIMER Timer);

Consulte a documentação do KeCancelTimer para obter detalhes sobre a implementação dessa função. Qualquer implementação de cliente deve se comportar de maneira semelhante.

CorrelatedTime

Um ponteiro para uma função para recuperar a hora atual do relógio e uma hora correlacionada do sistema como uma operação atômica. A função deve ser protótipo da seguinte maneira:

LONGLONG CorrelatedTime (IN PKSPIN Pin,
    OUT PLONGLONG SystemTime);

A hora do relógio atual deve ser retornada e a hora atual do sistema deve ser colocada em SystemTime.

Resolution

Um ponteiro para uma função para especificar a resolução do relógio. Isso corresponde à propriedade KS KSPROPERTY_CLOCK_RESOLUTION. Essa função deve relatar a granularidade em termos de unidades de 100 nanossegundos. Para obter mais informações, consulte a documentação do KS sobre KSPROPERTY_CLOCK_RESOLUTION.

A função deve ser protótipo da seguinte maneira:

void Resolution (IN PKSPIN Pin,
        OUT PKSRESOLUTION Resolution);

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Microsoft Windows XP e em sistemas operacionais posteriores e no Microsoft DirectX 8.0 e versões posteriores.
Cabeçalho ks.h (inclua Ks.h)

Confira também

KDPC

KSPIN

KSPIN_DISPATCH

KSPROPERTY_CLOCK_RESOLUTION

KSRESOLUTION

KeSetTimerEx