Menggunakan Sink Kustom

[Fitur yang terkait dengan halaman ini, Windows Media Format 11 SDK, adalah fitur warisan. Ini telah digantikan oleh Pembaca Sumber dan Penulis Sink. Pembaca Sumber dan Penulis Sink telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan Pembaca Sumber dan Penulis Sink alih-alih Windows Media Format 11 SDK, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]

Jika Anda memiliki kebutuhan menulis khusus, Anda dapat membuat sink penulis Anda sendiri. Penulis mempertahankan komunikasi satu arah dengan sink dengan melakukan panggilan ke metode IWMWriterSink. Untuk membuat sink Anda sendiri, terapkan antarmuka IWMWriterSink di kelas di aplikasi Anda. Proses ini sangat mirip dengan menerapkan antarmuka panggilan balik lain yang digunakan oleh objek Windows Media Format SDK. Untuk informasi selengkapnya tentang panggilan balik, lihat Menggunakan Metode Panggilan Balik.

Buffer yang diterima di IWMWriterSink::OnHeader harus ditulis ke awal file, dan semua buffer yang diterima di OnDataUnit harus ditulis secara berurutan. OnHeader akan dipanggil di awal tetapi mungkin dipanggil di lain waktu, juga, dan jika ya, Anda harus, jika memungkinkan, menimpa header asli. Jika aplikasi Anda tidak dapat melakukan ini karena alasan tertentu, maka cukup abaikan panggilan OnHeader berikutnya.

Sink kustom Anda harus mengomunikasikan statusnya ke aplikasi penulisan Anda dengan melakukan panggilan ke metode panggilan balik IWMStatusCallback::OnStatus . Jika Anda mengimplementasikan sink Anda sebagai objek COM, Anda mungkin ingin mengekspos antarmuka IWMRegisterCallback . Namun, Anda dapat meneruskan alamat panggilan balik OnStatus ke sink Anda dan mengatur konteks dengan cara apa pun yang Anda suka.

Bekerja dengan Writer Sinks