Bagikan melalui


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
Mtype.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

DeleteMediaType

Fungsi Jenis Media