IMFSinkWriter::GetServiceForStream method

Queries the underlying media sink or encoder for an interface.


HRESULT GetServiceForStream(
  [in]   DWORD dwStreamIndex,
  [in]   REFGUID guidService,
  [in]   REFIID riid,
  [out]  LPVOID *ppvObject


dwStreamIndex [in]

The zero-based index of a stream to query, or MF_SINK_WRITER_MEDIASINK to query the media sink itself.

guidService [in]

A service identifier GUID, or GUID_NULL. If the value is GUID_NULL, the method calls QueryInterface to get the requested interface. Otherwise, the method calls IMFGetService::GetService. For a list of service identifiers, see Service Interfaces.

riid [in]

The interface identifier (IID) of the interface being requested.

ppvObject [out]

Receives a pointer to the requested interface. The caller must release the interface.

Return value

If this method succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.


If the dwStreamIndex parameter equals MF_SINK_WRITER_MEDIASINK, the method attempts to get the interface from the media sink. Otherwise, it attempts to get the interface from the encoder for the stream at the specified index. If that fails, or if no encoder is present, the method attempts to get the interface from the stream on the media sink.

This interface is available on Windows Vista if Platform Update Supplement for Windows Vista is installed.


Minimum supported client

Windows 7, Windows Vista and Platform Update Supplement for Windows Vista [desktop apps | Windows Store apps]

Minimum supported server

Windows Server 2008 R2 [desktop apps | Windows Store apps]



See also

Sink Writer



Community Additions

© 2015 Microsoft