estructura MFCLOCK_PROPERTIES (mfidl.h)

Define las propiedades de un reloj.

Sintaxis

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

Members

qwCorrelationRate

Intervalo en el que el reloj correlaciona su tiempo de reloj con la hora del sistema, en unidades de 100 nanosegundos. Si el valor es cero, la correlación se realiza cada vez que se llama al método IMFClock::GetCorrelatedTime .

guidClockId

Identificador único del dispositivo subyacente que proporciona la hora. Si dos relojes tienen el mismo identificador único, se basan en el mismo dispositivo. Si el dispositivo subyacente no se comparte entre dos relojes, el valor puede ser GUID_NULL.

dwClockFlags

OR bit a bit de las marcas de la enumeración MFCLOCK_RELATIONAL_FLAGS .

qwClockFrequency

Frecuencia del reloj en Hz. Un valor de MFCLOCK_FREQUENCY_HNS significa que el reloj tiene una frecuencia de 10 MHz (tics de 100 nanosegundos), que es la unidad de tiempo MFTIME estándar en Media Foundation. Si el método IMFClock::GetClockCharacteristics devuelve la marca MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ , el valor de este campo debe ser MFCLOCK_FREQUENCY_HNS.

dwClockTolerance

Cantidad de imprecisión que puede estar presente en el reloj, en partes por mil millones (ppb). Por ejemplo, una inexactitud de 50 ppb significa que el reloj puede desfase hasta 50 segundos por mil millones de segundos de tiempo real. Si no se conoce la tolerancia, el valor es MFCLOCK_TOLERANCE_UNKNOWN. Esta constante es igual a 50 partes por millón (ppm).

dwClockJitter

Cantidad de vibración que puede estar presente, en unidades de 100 nanosegundos. Jitter es la variación en la frecuencia debido al muestreo del reloj subyacente. Jitter no incluye imprecisiones causadas por el desfase, que se refleja en el valor de dwClockTolerance.

En el caso de los relojes basados en un solo dispositivo, la vibración mínima es la longitud del período de graduación (inversa de la frecuencia). Por ejemplo, si la frecuencia es de 10 Hz, la vibración es de 0,1 segundo, que es de 1000 000 en unidades MFTIME . Este valor refleja el hecho de que el reloj se puede muestrear justo antes del siguiente tic, lo que da como resultado una hora del reloj que es un período menor que el tiempo real. Si la frecuencia es mayor que 10 MHz, la vibración debe establecerse en 1 (el valor mínimo).

Si el dispositivo de hardware subyacente del reloj no marca directamente los datos entrantes, la vibración también incluye el tiempo necesario para enviar la rutina del servicio de interrupción del controlador (ISR). En ese caso, la vibración esperada debe incluir los siguientes valores:

Valor Significado
MFCLOCK_JITTER_ISR
Vibración debido a la marca de tiempo durante el ISR del controlador del dispositivo.
MFCLOCK_JITTER_DPC
Vibración debido a la marca de tiempo durante el procesamiento de la llamada a procedimiento diferido (DPC).
MFCLOCK_JITTER_PASSIVE
Vibración debido a la caída de la ejecución normal del subproceso antes de la marca de tiempo.

Requisitos

   
Cliente mínimo compatible Windows Vista [aplicaciones de escritorio | aplicaciones para UWP]
Servidor mínimo compatible Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP]
Encabezado mfidl.h

Consulte también

IMFClock::GetProperties

MFTIME

Estructuras de Media Foundation