Metode IMFTransform::GetStreamIDs (mftransform.h)
Mendapatkan pengidentifikasi aliran untuk aliran input dan output pada transformasi Media Foundation (MFT) ini.
Sintaks
HRESULT GetStreamIDs(
[in] DWORD dwInputIDArraySize,
[out] DWORD *pdwInputIDs,
[in] DWORD dwOutputIDArraySize,
[out] DWORD *pdwOutputIDs
);
Parameter
[in] dwInputIDArraySize
Jumlah elemen dalam array pdwInputIDs .
[out] pdwInputIDs
Penunjuk ke array yang dialokasikan oleh pemanggil. Metode ini mengisi array dengan pengidentifikasi aliran input. Ukuran array harus setidaknya sama dengan jumlah aliran input. Untuk mendapatkan jumlah aliran input, panggil IMFTransform::GetStreamCount.
Jika penelepon melewati array yang lebih besar dari jumlah aliran input, MFT tidak boleh menulis nilai ke dalam entri array tambahan.
[in] dwOutputIDArraySize
Jumlah elemen dalam array pdwOutputIDs .
[out] pdwOutputIDs
Penunjuk ke array yang dialokasikan oleh pemanggil. Metode mengisi array dengan pengidentifikasi aliran output. Ukuran array harus setidaknya sama dengan jumlah aliran output. Untuk mendapatkan jumlah aliran output, panggil GetStreamCount.
Jika penelepon melewati array yang lebih besar dari jumlah aliran output, MFT tidak boleh menulis nilai ke dalam entri array tambahan.
Menampilkan nilai
Metode mengembalikan HRESULT. Nilai yang mungkin termasuk, tetapi tidak terbatas pada, yang ada dalam tabel berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil. |
|
Tidak diterapkan. Lihat Keterangan. |
|
Satu atau kedua array terlalu kecil. |
Keterangan
Pengidentifikasi aliran diperlukan karena beberapa MFT dapat menambahkan atau menghapus aliran, sehingga indeks aliran mungkin tidak unik. Oleh karena itu, metode IMFTransform yang beroperasi pada aliran mengambil pengidentifikasi streaming.
Metode ini dapat mengembalikan E_NOTIMPL jika kedua kondisi berikut ini benar:
- Transformasi memiliki jumlah aliran tetap.
- Aliran diberi nomor berturut-turut dari 0 hingga n – 1, di mana n adalah jumlah aliran input atau aliran output. Dengan kata lain, aliran input pertama adalah 0, yang kedua adalah 1, dan sebagainya; dan aliran output pertama adalah 0, yang kedua adalah 1, dan sebagainya.
- MFT dapat menambahkan atau menghapus aliran output.
- MFT memungkinkan klien untuk menambahkan atau menghapus aliran input.
- Pengidentifikasi aliran tidak berturut-turut.
Jika klien menambahkan aliran input, klien menetapkan pengidentifikasi, sehingga MFT harus mengizinkan pengidentifikasi arbitrer, selama mereka unik. Jika MFT membuat aliran output, MFT menetapkan pengidentifikasi.
Menurut konvensi, jika MFT memiliki tepat satu aliran input tetap dan satu aliran output tetap, MFT harus menetapkan pengidentifikasi 0 ke kedua aliran.
Jika MFT_UNIQUE_METHOD_NAMES didefinisikan sebelum menyertakan mftransform.h, metode ini diganti namanya menjadi MFTGetStreamID. Lihat Membuat Objek DMO/MFT Hibrid.
Persyaratan
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | mftransform.h |
Pustaka | Mfuuid.lib |