Partager via


SRB_INDICATE_MASTER_CLOCK

Le pilote de classe émet cette demande pour indiquer à un flux le handle de l’objet horloge qui sert désormais de master horloge, ou un handle zéro pour indiquer que le flux est en cours d’exécution libre.

Valeur de retour

Le minidriver doit définir l’un des éléments suivants comme status dans le SRB :

STATUS_SUCCESS
Indique la réussite de la commande.

STATUS_NOT_IMPLEMENTED
Indique que la fonction n’est pas prise en charge par le minidriver.

STATUS_IO_DEVICE_ERROR
Indique qu’une défaillance matérielle s’est produite.

Commentaires

Le pilote de classe définit commandData. Membre MasterClockHandle pointé vers par pSrb vers la poignée de l’objet horloge qui représente l’horloge master. Le pointeur pSrb pointe vers une structure HW_STREAM_REQUEST_BLOCK .

Un flux peut interroger la valeur d’heure de l’horloge master en passant le handle d’horloge master à StreamClassQueryMasterClock ou StreamClassQueryMasterClockSync.

Tant que le minidriver ne reçoit pas un SRB_INDICATE_MASTER_CLOCK pour un flux particulier, il peut supposer que le flux est en cours d’exécution libre. Si la poignée transmise dans ce SRB pour une broche subordonnée est la même que la poignée transmise au minidriver dans SRB_OPEN_MASTER_CLOCK, le minidriver peut lire l’heure directement à partir de l’horloge master, car il contrôle l’master et le subordonné.

Le minidriver doit conserver le champ CommandData.MasterClockHandle dans le SRB qui pointe vers la poignée de l’horloge master. Si ce handle est égal à zéro, il indique au minidriver que ce flux est désormais en cours d’exécution libre et ne peut pas être subordonné à une horloge master.