SRB_INDICATE_MASTER_CLOCK

El controlador de clase emite esta solicitud para indicar a un flujo el identificador del objeto clock que ahora actúa como reloj maestro o un identificador cero para indicar que la secuencia está en ejecución libre.

Valor devuelto

El minidriver debe establecer uno de los siguientes como estado en el SRB:

STATUS_SUCCESS
Indica la finalización correcta del comando.

STATUS_NOT_IMPLEMENTED
Indica que la función no es compatible con el minidriver.

STATUS_IO_DEVICE_ERROR
Indica que se ha producido un error de hardware.

Comentarios

El controlador de clase establece CommandData. Miembro MasterClockHandle al que apunta pSrb al identificador del objeto clock que representa el reloj maestro. El puntero pSrb apunta a una estructura de HW_STREAM_REQUEST_BLOCK .

Una secuencia puede consultar el valor de hora del reloj maestro pasando el identificador del reloj maestro a StreamClassQueryMasterClock o StreamClassQueryMasterClockSync.

Hasta que el minidriver recibe un SRB_INDICATE_MASTER_CLOCK para una secuencia determinada, puede suponer que la secuencia está en ejecución gratuita. Si el controlador pasado en este SRB para un pin subordinado es el mismo que el controlador pasado al minidriver en SRB_OPEN_MASTER_CLOCK, el minidriver puede leer la hora directamente desde el reloj maestro porque controla el maestro y el subordinado.

El minidriver debe conservar el campo CommandData.MasterClockHandle en el SRB que apunta al identificador del reloj maestro. Si este identificador es cero, indica al minidriver que esta secuencia ahora está disponible y no puede ser subordinada a un reloj maestro.