Fungsi DeleteMediaType

[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 DeleteMediaType menghapus struktur AM_MEDIA_TYPE yang dialokasikan, termasuk blok format.

Sintaks

void WINAPI DeleteMediaType(
   AM_MEDIA_TYPE *pmt
);

Parameter

Pmt

Penunjuk ke struktur AM_MEDIA_TYPE .

Mengembalikan nilai

Fungsi ini tidak mengembalikan nilai.

Keterangan

Gunakan fungsi ini untuk merilis struktur jenis media apa pun yang dialokasikan menggunakan CoTaskMemAlloc atau CreateMediaType.

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;
    }
}


// Delete a media type structure that was allocated on the heap.
void _DeleteMediaType(AM_MEDIA_TYPE *pmt)
{
    if (pmt != NULL)
    {
        _FreeMediaType(*pmt); 
        CoTaskMemFree(pmt);
    }
}

Persyaratan

Persyaratan Nilai
Header
Mtype.h (termasuk Streams.h)
Pustaka
Strmbase.lib (build ritel);
Strmbasd.lib (build debug)

Lihat juga

FreeMediaType

Fungsi Jenis Media