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") |