StreamClassQueryMasterClockSync-Funktion (strmini.h)

Der Minidriver kann die StreamClassQueryMasterClockSync-Routine aufrufen, um die master Uhr eines Streams synchron abzufragen.

Syntax

VOID STREAMAPI StreamClassQueryMasterClockSync(
  [in]      HANDLE           MasterClockHandle,
  [in, out] PHW_TIME_CONTEXT TimeContext
);

Parameter

[in] MasterClockHandle

Gibt das Handle für die master Uhr an, die abgefragt wird. Der Klassentreiber übergibt dies in der SRB_INDICATE_MASTER_CLOCK-Anforderung an die StrMiniReceiveStreamControlPacket-Routine des Minidrivers.

[in, out] TimeContext

Gibt die HW_TIME_CONTEXT Struktur an, die der Klassentreiber an die StrMiniClock-Routine der master Uhr übergibt. Vor dem Aufrufen dieser Routine muss der Minidriver die Elemente HwDeviceExtension, HwStreamObject und Function von TimeContext ausfüllen. StreamClassQueryMasterClockSync schließt die Elemente Time und SystemTime ab.

Rückgabewert

Keine

Bemerkungen

Die Routine muss mit oder unterhalb DISPATCH_LEVEL aufgerufen werden. Wenn der Aufrufer bei einem ausgelösten IRQL ausgeführt wird, sollte er stattdessen die asynchrone Version StreamClassQueryMasterClock verwenden.

Der Klassentreiber ruft die StrMiniClock-Routine der master Uhr auf, um die Uhr abzufragen.

In seltenen Fällen wechselt der Graph-Manager die master Uhr. Der Klassenfahrer macht beim Umgang mit der neuen master Uhr eine Rennbedingung verfügbar. Wenn der Minitreiber eine Streamklasse master Taktroutine aufruft, unmittelbar nachdem er eine neue Uhr vom Klassentreiber empfangen hat, kann der Klassentreiber zu unerwarteten Ergebnissen führen.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile strmini.h (include Strmini.h)
Bibliothek Stream.lib
IRQL <=DISPATCH_LEVEL (siehe Abschnitt Hinweise)

Weitere Informationen

HW_TIME_CONTEXT

StrMiniClock

StrMiniReceiveStreamControlPacket

StreamClassQueryMasterClock