Freigeben über


StreamClassQueryMasterClockSync-Funktion (strmini.h)

Der Minidriver ruft möglicherweise die StreamClassQueryMasterClockSync- Routine auf, um die Masteruhr eines Datenstroms synchron abzufragen.

Syntax

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

Parameter

[in] MasterClockHandle

Gibt das Handle für die Masteruhr 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 Masteruhr übergibt. Vor dem Aufrufen dieser Routine muss der Minidriver die HwDeviceExtension, HwStreamObjectund Function Member von TimeContextausfüllen. StreamClassQueryMasterClockSync schließt die Elemente Time und SystemTime ab.

Rückgabewert

Nichts

Bemerkungen

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

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

In seltenen Fällen wechselt der Graph-Manager die Masteruhr. Der Klassenfahrer macht eine Rennbedingung beim Umgang mit der neuen Masteruhr verfügbar. Wenn der Minidriver unmittelbar nach dem Empfangen einer neuen Uhr vom Klassentreiber eine Streamklassenmasteruhr-Routine aufruft, kann der Klassentreiber unerwartete Ergebnisse erzielen.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- strmini.h (einschließlich Strmini.h)
Library Stream.lib
IRQL- <=DISPATCH_LEVEL (Siehe Abschnitt "Hinweise")

Siehe auch

HW_TIME_CONTEXT

StrMiniClock-

StrMiniReceiveStreamControlPacket

StreamClassQueryMasterClock-