Compartilhar via


estrutura MFCLOCK_PROPERTIES (mfidl.h)

Define as propriedades de um relógio.

Sintaxe

typedef struct _MFCLOCK_PROPERTIES {
  unsigned __int64 qwCorrelationRate;
  GUID             guidClockId;
  DWORD            dwClockFlags;
  unsigned __int64 qwClockFrequency;
  DWORD            dwClockTolerance;
  DWORD            dwClockJitter;
} MFCLOCK_PROPERTIES;

Membros

qwCorrelationRate

O intervalo no qual o relógio correlaciona seu tempo de relógio com a hora do sistema, em unidades de 100 nanossegundos. Se o valor for zero, a correlação será feita sempre que o método IMFClock::GetCorrelatedTime for chamado.

guidClockId

O identificador exclusivo do dispositivo subjacente que fornece a hora. Se dois relógios tiverem o mesmo identificador exclusivo, eles serão baseados no mesmo dispositivo. Se o dispositivo subjacente não for compartilhado entre dois relógios, o valor poderá ser GUID_NULL.

dwClockFlags

Um OR bit a bit de sinalizadores da enumeração MFCLOCK_RELATIONAL_FLAGS .

qwClockFrequency

A frequência do relógio no Hz. Um valor de MFCLOCK_FREQUENCY_HNS significa que o relógio tem uma frequência de 10 MHz (tiques de 100 nanossegundos), que é a unidade de tempo MFTIME padrão no Media Foundation. Se o método IMFClock::GetClockCharacteristics retornar o sinalizador MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , o valor desse campo deverá ser MFCLOCK_FREQUENCY_HNS.

dwClockTolerance

A quantidade de imprecisão que pode estar presente no relógio, em partes por bilhão (ppb). Por exemplo, uma imprecisão de 50 ppb significa que o relógio pode desabilitar até 50 segundos por bilhão de segundos de tempo real. Se a tolerância não for conhecida, o valor será MFCLOCK_TOLERANCE_UNKNOWN. Essa constante é igual a 50 partes por milhão (ppm).

dwClockJitter

A quantidade de tremulação que pode estar presente em unidades de 100 nanossegundos. Tremulação é a variação na frequência devido à amostragem do relógio subjacente. A tremulação não inclui imprecisões causadas por descompasso, o que é refletido no valor de dwClockTolerance.

Para relógios com base em um único dispositivo, a tremulação mínima é o comprimento do período de escala (o inverso da frequência). Por exemplo, se a frequência for de 10 Hz, a tremulação será de 0,1 segundo, que é de 1.000.000 em unidades MFTIME . Esse valor reflete o fato de que o relógio pode ser amostrado pouco antes do próximo tique, resultando em um tempo de relógio que é um período menor que o tempo real. Se a frequência for maior que 10 MHz, a tremulação deverá ser definida como 1 (o valor mínimo).

Se o dispositivo de hardware subjacente de um relógio não carimbar diretamente os dados de entrada, a tremulação também inclui o tempo necessário para expedir a ISR (rotina de serviço de interrupção) do driver. Nesse caso, a tremulação esperada deve incluir os seguintes valores:

Valor Significado
MFCLOCK_JITTER_ISR
Tremulação devido ao carimbo de data/hora durante o ISR do driver do dispositivo.
MFCLOCK_JITTER_DPC
Tremulação devido ao carimbo de data/hora durante o processamento de DPC (chamada de procedimento adiado).
MFCLOCK_JITTER_PASSIVE
Tremulação devido à queda para a execução normal do thread antes do carimbo de data/hora.

Requisitos

   
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Cabeçalho mfidl.h

Confira também

IMFClock::GetProperties

MFTIME

Estruturas do Media Foundation