Microsoft DirectShow 9.0


The put_CurrentPosition method sets the current position, relative to the total duration of the stream.


  HRESULT put_CurrentPosition(
  REFTIME llTime



[in] New position, in seconds.

Return Values

Returns an HRESULT value. Possible values include the following:

Return code Description
S_FALSE Graph was paused and is in transition back to a running state.
S_OK Success.
E_INVALIDARG Invalid argument.
E_NOTIMPL Not implemented.


The position specified by the llTime parameter is relative to the total duration, ignoring playback rate. For example, if a source file is 10 seconds long, setting the position to 5.0 causes the graph to seek to the middle of the file, regardless of playback rate.

If the filter graph is running, the Filter Graph Manager pauses the graph, issues the seek command, and then runs the graph again. If the method returns while the graph is still transitioning to a running state, the return value is S_FALSE.

If a filter is paused when it receives a seek command, it must flush existing data before it introduces the data from the new position. See IPin::BeginFlush and IPin::EndFlush.


Header: Declared in Control.h; include Dshow.h.

Library: Use Strmiids.lib.

See Also