Condividi tramite


SRB_INDICATE_MASTER_CLOCK

Il driver di classe invia questa richiesta per indicare a un flusso l'handle per l'oggetto clock che ora funge da orologio master o un handle zero per indicare che il flusso è in esecuzione gratuita.

Valore restituito

Il minidriver deve impostare uno dei seguenti come stato in SRB:

STATUS_SUCCESS
Indica il completamento corretto del comando.

STATUS_NOT_IMPLEMENTED
Indica che la funzione non è supportata dal minidriver.

STATUS_IO_DEVICE_ERROR
Indica che si è verificato un errore hardware.

Commenti

Il driver di classe imposta CommandData. Membro MasterClockHandle a cui punta pSrb all'handle per l'oggetto clock che rappresenta l'orologio master. Il puntatore pSrb punta a una struttura HW_STREAM_REQUEST_BLOCK .

Un flusso può eseguire una query sul valore dell'ora dell'orologio master passando l'handle dell'orologio master a StreamClassQueryMasterClock o StreamClassQueryMasterClockSync.

Finché il minidriver non riceve un SRB_INDICATE_MASTER_CLOCK per un flusso specifico, può presupporre che il flusso sia in esecuzione gratuita. Se l'handle passato in questo SRB per un pin subordinato è lo stesso dell'handle passato al minidriver in SRB_OPEN_MASTER_CLOCK, il minidriver può leggere l'ora direttamente dall'orologio master perché controlla il master e il subordinato.

Il minidriver deve mantenere il campo CommandData.MasterClockHandle in SRB che punta all'handle per l'orologio master. Se questo handle è zero, indica al minidriver che questo flusso è ora libero in esecuzione e non può essere subordinato a un orologio master.