FreeMediaType 函数
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
FreeMediaType 函数删除AM_MEDIA_TYPE结构中的格式块。
语法
void FreeMediaType(
AM_MEDIA_TYPE &mt
);
参数
-
mt [ref]
-
对 AM_MEDIA_TYPE 结构的引用。
返回值
此函数不返回值。
注解
格式块在堆上分配。 AM_MEDIA_TYPE的 pbFormat 成员指向格式块。 使用此函数仅释放格式块。 若要删除已分配 AM_MEDIA_TYPE 结构,请调用 DeleteMediaType。
此函数在 DirectShow 基类 库中定义。 如果不想链接到基类库,可以使用以下代码:
// 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;
}
}
要求
要求 | 值 |
---|---|
标头 |
|
库 |
|