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:
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 |