The class driver passes an HW_TIME_CONTEXT structure as a parameter to be filled in by a stream's StrMiniClock routine, or returns a completed HW_TIME_CONTEXT structure when it responds to a StreamClassQueryMasterClock or StreamClassQueryMasterClockSync request.
typedef struct _HW_TIME_CONTEXT {
struct _HW_DEVICE_EXTENSION *HwDeviceExtension;
struct _HW_STREAM_OBJECT *HwStreamObject;
TIME_FUNCTION Function;
ULONGLONG Time;
ULONGLONG SystemTime;
} HW_TIME_CONTEXT, *PHW_TIME_CONTEXT;
The minidriver may use its device extension to record private information global to the minidriver. The minidriver sets the size of this buffer in the HW_INITIALIZATION_DATA structure it passes when it registers itself via StreamClassRegisterMinidriver. The class driver also passes pointers to this buffer in the HwDeviceExtension member of the HW_STREAM_OBJECT, HW_STREAM_REQUEST_BLOCK, and PORT_CONFIGURATION_INFORMATION structures it passes to the minidriver.
When the class driver passes a completed HW_TIME_CONTEXT structure to the callback provided by StreamClassQueryMasterClock, it fills in this member with a pointer to the stream object of the stream that makes the query request.
Declared in strmini.h. Include strmini.h.
HW_CLOCK_OBJECT, StreamClassQueryMasterClock, StreamClassQueryMasterClockSync, StrMiniClock