FreeMediaType 関数
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 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;
}
}
要件
要件 | 値 |
---|---|
ヘッダー |
|
ライブラリ |
|