Funzione DeleteMediaType
[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.
La funzione DeleteMediaType elimina una struttura AM_MEDIA_TYPE allocata, incluso il blocco di formato.
Sintassi
void WINAPI DeleteMediaType(
AM_MEDIA_TYPE *pmt
);
Parametri
-
Pmt
-
Puntatore a una struttura AM_MEDIA_TYPE .
Valore restituito
Questa funzione non restituisce un valore.
Commenti
Usare questa funzione per rilasciare qualsiasi struttura del tipo di supporto allocata usando CoTaskMemAlloc o CreateMediaType.
Questa funzione è definita nella libreria Classi di base DirectShow . Se si preferisce non collegarsi alla libreria di classi di base, è possibile usare il codice seguente:
// 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);
}
}
Requisiti
Requisito | Valore |
---|---|
Intestazione |
|
Libreria |
|