enumerasi _MFT_OUTPUT_DATA_BUFFER_FLAGS (mftransform.h)
Menentukan bendera untuk metode IMFTransform::P rocessOutput .
Sintaks
typedef enum _MFT_OUTPUT_DATA_BUFFER_FLAGS {
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE = 0x1000000,
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE = 0x100,
MFT_OUTPUT_DATA_BUFFER_STREAM_END = 0x200,
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE = 0x300
} ;
Konstanta
MFT_OUTPUT_DATA_BUFFER_INCOMPLETE Nilai: 0x1000000 MFT masih dapat menghasilkan output dari aliran ini tanpa menerima input lagi. Panggil Lagi ProcessOutput untuk memproses batch data input berikutnya. |
MFT_OUTPUT_DATA_BUFFER_FORMAT_CHANGE Nilai: 0x100 Format telah berubah pada aliran output ini, atau ada format pilihan baru untuk aliran ini. Ketika bendera ini diatur, MFT menghapus jenis media untuk aliran. Metode ProcessOutput mengembalikan MF_E_TRANSFORM_STREAM_CHANGE dan tidak menghasilkan output untuk aliran apa pun. Panggilan lebih lanjut ke IMFTransform::P rocessInput atau ProcessOutput akan gagal hingga klien menetapkan jenis media baru. |
MFT_OUTPUT_DATA_BUFFER_STREAM_END Nilai: 0x200 MFT telah menghapus aliran output ini. Aliran output harus memiliki bendera MFT_OUTPUT_STREAM_REMOVABLE. (Lihat IMFTransform::GetOutputStreamInfo.) Ketika MFT menghapus aliran output, MFT mengembalikan kode status ini pada panggilan berikutnya ke ProcessOutput setelah sampel output terakhir diproduksi. Ketika MFT mengembalikan kode status ini, MFT tidak memodifikasi sampel apa pun yang terkandung dalam anggota pSample dari struktur MFT_OUTPUT_DATA_BUFFER , juga tidak mengalokasikan sampel baru jika pSample adalah NULL. Setelah kode status ini dikembalikan, pengidentifikasi aliran untuk aliran output ini tidak lagi valid. Klien tidak boleh lagi menyediakan struktur MFT_OUTPUT_DATA_BUFFER untuk aliran tersebut saat memanggil ProcessOutput. Metode ProcessOutput tidak mengembalikan MF_E_TRANSFORM_STREAM_CHANGE ketika aliran berakhir, kecuali ada perubahan di aliran lain yang memerlukan kode pengembalian ini. |
MFT_OUTPUT_DATA_BUFFER_NO_SAMPLE Nilai: 0x300 Tidak ada sampel yang siap untuk aliran ini. Bendera ini mungkin diatur jika MFT memiliki beberapa aliran output yang menghasilkan data pada waktu yang berbeda. Ini mengatur bendera ini untuk setiap aliran yang belum siap untuk menghasilkan data. Ini tidak mengubah sampel output yang terkandung dalam anggota pSample dari struktur MFT_OUTPUT_DATA_BUFFER , juga tidak mengalokasikan sampel baru adalah pSample adalah NULL. Jika tidak ada aliran yang siap menghasilkan output, MFT tidak mengatur bendera ini. Sebagai gantinya, metode ProcessOutput mengembalikan MF_E_TRANSFORM_NEED_MORE_INPUT. |
Keterangan
Nilai dalam enumerasi ini bukan bendera bit, sehingga tidak boleh dikombinasikan dengan BITWISE OR. Selain itu, penelepon harus menguji bendera ini dengan operator kesetaraan, bukan bitwise DAN:
// Correct.
if (Buffer.dwStatus == MFT_OUTPUT_DATA_BUFFER_STREAM_END)
{
...
}
// Incorrect.
if ((Buffer.dwStatus & MFT_OUTPUT_DATA_BUFFER_STREAM_END) != 0)
{
...
}
Persyaratan
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Header | mftransform.h |