Fungsi FreeMediaType
[Fitur yang terkait dengan halaman ini, DirectShow, adalah fitur warisan. Ini telah digantikan oleh MediaPlayer, IMFMediaEngine, dan Pengambilan Audio/Video di Media Foundation. Fitur-fitur tersebut telah dioptimalkan untuk Windows 10 dan Windows 11. Microsoft sangat menyarankan agar kode baru menggunakan MediaPlayer, IMFMediaEngine , dan Pengambilan Audio/Video di Media Foundation alih-alih DirectShow, jika memungkinkan. Microsoft menyarankan agar kode yang ada yang menggunakan API warisan ditulis ulang untuk menggunakan API baru jika memungkinkan.]
Fungsi FreeMediaType menghapus blok format dalam struktur AM_MEDIA_TYPE .
Sintaks
void FreeMediaType(
AM_MEDIA_TYPE &mt
);
Parameter
-
mt [ref]
-
Referensi ke struktur AM_MEDIA_TYPE .
Nilai kembali
Fungsi ini tidak mengembalikan nilai.
Keterangan
Blok format dialokasikan pada heap. Anggota pbFormatdari AM_MEDIA_TYPE menunjuk ke blok format. Gunakan fungsi ini untuk membebaskan blok format saja. Untuk menghapus struktur AM_MEDIA_TYPE yang dialokasikan, panggil DeleteMediaType.
Fungsi ini didefinisikan dalam pustaka Kelas Dasar DirectShow . Jika Anda lebih suka tidak menautkan ke pustaka kelas dasar, Anda dapat menggunakan kode berikut:
// Release the format block for a media type.
void _FreeMediaType(AM_MEDIA_TYPE& mt)
{
if (mt.cbFormat != 0)
{
CoTaskMemFree((PVOID)mt.pbFormat);
mt.cbFormat = 0;
mt.pbFormat = NULL;
}
if (mt.pUnk != NULL)
{
// pUnk should not be used.
mt.pUnk->Release();
mt.pUnk = NULL;
}
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|
Pustaka |
|