CBaseReferenceClock.AdviseTime method

[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The AdviseTime method creates a one-shot advise request. This method implements the IReferenceClock::AdviseTime method.

Syntax

HRESULT AdviseTime(
   REFERENCE_TIME baseTime,
   REFERENCE_TIME streamTime,
   HEVENT         hEvent,
   DWORD_PTR      *pdwAdviseToken
);

Parameters

baseTime

Base reference time, in 100-nanosecond units.

streamTime

Stream offset time, in 100-nanosecond units.

hEvent

Handle to an event, created by the caller.

pdwAdviseToken

Pointer to a variable that receives an identifier for the advise request.

Return value

Returns one of the HRESULT values shown in the following table.

Return code Description
S_OK
Success
E_INVALIDARG
Invalid time values
E_OUTOFMEMORY
Failure
E_POINTER
NULL pointer argument

Remarks

This method creates a one-shot advise request for the reference time baseTime + streamTime. The sum must be greater than zero and less than MAX_TIME, or the method returns E_INVALIDARG. At the requested time, the clock signals the event specified in the hEvent parameter.

To cancel the notification before the time is reached, call the CBaseReferenceClock::Unadvise method and pass the pdwAdviseToken value returned from this call. After the notification has occurred, the clock automatically clears it, so it is not necessary to call Unadvise. However, it is not an error to do so.

Requirements

Requirement Value
Header
Refclock.h (include Streams.h)
Library
Strmbase.lib (retail builds);
Strmbasd.lib (debug builds)

See also

CBaseReferenceClock Class