HW_TIME_CONTEXT structure (strmini.h)

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.

Syntax

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;

Members

HwDeviceExtension

Points to the minidriver's device extension buffer. The class driver fills in this member when it passes the structure to a stream's StrMiniClock, or to the callback passed to StreamClassQueryMasterClock. When passed as a parameter to StreamClassQueryMasterClockSync, the caller must fill in this member itself.

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.

HwStreamObject

When the class driver passes HW_TIME_CONTEXT to a stream's StrMiniClock routine, this member points to the stream's HW_STREAM_OBJECT structure.

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.

Function

Specifies the type of time value that is stored in the Time member. The possible values are:

TIME_GET_STREAM_TIME

The Time member holds the current presentation time stamp.

TIME_READ_ONBOARD_CLOCK

The Time member holds the current clock time.

Time

The time value, in 100-nanosecond units, specified by the Function member.

SystemTime

The current system time, in 100-nanosecond units.

Requirements

Requirement Value
Header strmini.h (include Strmini.h)

See also

HW_CLOCK_OBJECT

StrMiniClock

StreamClassQueryMasterClock

StreamClassQueryMasterClockSync