共用方式為


將接收新增至寫入器

寫入器接收是與寫入器不同的物件,而且必須新增至要使用的寫入器。 如果您要寫入檔案,您可以直接呼叫 IWMWriter::SetOutputFilename,這會自動設定檔案接收。 否則,若要將接收新增至寫入器,請呼叫 IWMWriterAdvanced::AddSink 方法。 AddSink 需要接收之 IWMWriterSink 介面的指標。

當您完成使用接收時,應該呼叫適當的方法,視接收類型而定關閉接收,然後藉由呼叫 IWMWriterAdvanced::RemoveSink從寫入器中移除它。

下列範例程式碼示範如何建立寫入器檔案接收,並將其新增至寫入器。 如需使用此程式碼的詳細資訊,請參閱 使用程式碼範例

HRESULT AddFileSink(IWMWriterFileSink** ppFileSink, IWMWriter* pWriter)
{
    HRESULT hr = S_OK;
    IWMWriterSink*     pSinkBase       = NULL;
    IWMWriterAdvanced* pWriterAdvanced = NULL;

    hr = CreateWriterFileSink(ppFileSink);
    GOTO_EXIT_IF_FAILED(hr);

    hr = *ppFileSink->QueryInterface(IID_IWMWriterSink, 
                                     (void**) &pSinkBase);
    GOTO_EXIT_IF_FAILED(hr);

    hr = pWriter->QueryInterface(IID_IWMWriterAdvanced,
                                 (void**) &pWriterAdvanced);
    GOTO_EXIT_IF_FAILED(hr);

    hr = pWriterAdvanced->AddSink(pSinkBase);
    GOTO_EXIT_IF_FAILED(hr);

Exit:
    SAFE_RELEASE(pSinkBase);
    SAFE_RELEASE(pWriterAdvanced);
    return hr;
}

從接收取得錯誤訊息

IWMWriterAdvanced 介面

使用寫入器接收