StreamClassQueryMasterClockSync function (strmini.h)
The minidriver may call the StreamClassQueryMasterClockSync routine to synchronously query a stream's master clock.
Syntax
VOID STREAMAPI StreamClassQueryMasterClockSync(
[in] HANDLE MasterClockHandle,
[in, out] PHW_TIME_CONTEXT TimeContext
);
Parameters
[in] MasterClockHandle
Specifies the handle for the master clock that is being queried. The class driver passes this in the SRB_INDICATE_MASTER_CLOCK request to the minidriver's StrMiniReceiveStreamControlPacket routine.
[in, out] TimeContext
Specifies the HW_TIME_CONTEXT structure that the class driver passes to the master clock's StrMiniClock routine. Before calling this routine, the minidriver must fill in the HwDeviceExtension, HwStreamObject, and Function members of TimeContext. StreamClassQueryMasterClockSync completes the Time and SystemTime members.
Return value
None
Remarks
The routine must be called at or below DISPATCH_LEVEL. If the caller is running at a raised IRQL, it should use the asynchronous version, StreamClassQueryMasterClock, instead.
The class driver calls the master clock's StrMiniClock routine to query the clock.
On rare occasions, the graph manager switches the master clock. The class driver exposes a race condition in handling the new master clock. If the minidriver calls a stream class master clock routine immediately after it receives a new clock from the class driver, the class driver may produce unexpected results.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | strmini.h (include Strmini.h) |
Library | Stream.lib |
IRQL | <=DISPATCH_LEVEL (See Remarks section) |