SRB_INDICATE_MASTER_CLOCK

Der Klassentreiber gibt diese Anforderung aus, um einem Stream das Handle für das Uhrobjekt anzugeben, das jetzt als master Uhr dient, oder ein Nullhandle, um anzugeben, dass der Stream frei ausgeführt wird.

Rückgabewert

Der Minidriver sollte eine der folgenden Als status im SRB festlegen:

STATUS_SUCCESS
Gibt den erfolgreichen Abschluss des Befehls an.

STATUS_NOT_IMPLEMENTED
Gibt an, dass die Funktion vom Minidriver nicht unterstützt wird.

STATUS_IO_DEVICE_ERROR
Gibt an, dass ein Hardwarefehler aufgetreten ist.

Kommentare

Der Klassentreiber legt commandData fest. MasterClockHandle-Member, das von pSrb auf das Handle für das Uhrobjekt verweist, das die master Uhr darstellt. Der pSrb-Zeiger zeigt auf eine HW_STREAM_REQUEST_BLOCK-Struktur .

Ein Stream kann den Zeitwert der master Uhr abfragen, indem er das master Uhrhandle an StreamClassQueryMasterClock oder StreamClassQueryMasterClockSync übergibt.

Bis der Minidriver eine SRB_INDICATE_MASTER_CLOCK für einen bestimmten Stream empfängt, kann davon ausgegangen werden, dass der Stream frei ausgeführt wird. Wenn der in diesem SRB für einen untergeordneten Pin übergebene Handle mit dem an den Minidriver in SRB_OPEN_MASTER_CLOCK übergebenen Handle identisch ist, kann der Minidriver die Zeit direkt von der master Uhr lesen, da er die master und den untergeordneten steuert.

Der Minidriver sollte das Feld CommandData.MasterClockHandle im SRB beibehalten, das auf den Handle für die master Uhr verweist. Wenn dieses Handle 0 ist, gibt es dem Minitreiber an, dass dieser Stream jetzt frei ausgeführt wird und nicht einer master Uhr untergeordnet werden kann.