Menambahkan Sink ke Penulis

Sink penulis adalah objek terpisah dari penulis dan harus ditambahkan ke penulis yang akan digunakan. Jika Anda menulis ke file, Anda cukup memanggil IWMWriter::SetOutputFilename, yang akan mengatur sink file secara otomatis. Jika tidak, untuk menambahkan sink ke penulis, panggil metode IWMWriterAdvanced::AddSink . AddSink memerlukan penunjuk ke antarmuka IWMWriterSink dari sink.

Setelah selesai menggunakan sink, Anda harus menutupnya dengan memanggil metode yang sesuai, tergantung pada jenis sink, lalu menghapusnya dari penulis dengan memanggil IWMWriterAdvanced::RemoveSink.

Contoh kode berikut menunjukkan cara membuat sink file penulis dan menambahkannya ke penulis. Untuk informasi selengkapnya tentang menggunakan kode ini, lihat Menggunakan Contoh Kode.

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;
}

Mendapatkan Pesan Kesalahan dari Sink

Antarmuka IWMWriterAdvanced

Bekerja dengan Writer Sinks