Compartilhar via


IWMWriterAdvanced::AddSink method (wmsdkidl.h)

[The feature associated with this page, Windows Media Format 11 SDK, is a legacy feature. It has been superseded by Source Reader and Sink Writer. Source Reader and Sink Writer have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use Source Reader and Sink Writer instead of Windows Media Format 11 SDK, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]

The AddSink method adds a writer sink to receive writer output. The Windows Media Format SDK supports file sinks, which create ASF files on disk; network sinks, which stream ASF content across a network; and push sinks, which deliver ASF content to other media servers. To create a sink object, call one of the following functions:

Sink Function
File sink WMCreateWriterFileSink
Network sink WMCreateWriterNetworkSink
Push sink WMCreateWriterPushSink
 

New sinks must be added to the writer with this method before they can be used.

Syntax

HRESULT AddSink(
  [in] IWMWriterSink *pSink
);

Parameters

[in] pSink

Pointer to an IWMWriterSink interface.

Return value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
S_OK
The method succeeded.
E_INVALIDARG
The pSink parameter is NULL.
NS_E_INVALID_STATE
The writer is not in a configurable state.

Remarks

If you only need to write to a single file, you can let the writer object handle the creation and management of a default file sink. To use a default file sink, pass a file name to the writer by calling IWMWriter::SetOutputFilename.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only],Windows Media Format 7 SDK, or later versions of the SDK
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header wmsdkidl.h (include Wmsdk.h)
Library Wmvcore.lib; WMStubDRM.lib (if you use DRM)

See also

Adding Sinks to the Writer

IWMWriterAdvanced Interface

IWMWriterAdvanced::GetSink

IWMWriterAdvanced::RemoveSink