Microsoft DirectX 8.0

メディア タイプ関数

宣言 : Mtype.h

Microsoft® DirectShow® 基底クラスの Mtype.h ヘッダー ファイルは、メディア タイプを処理するためのヘルパー関数を提供する。これらの汎用関数は、タスク割り当て AM_MEDIA_TYPE 構造体を、作成、コピー、および削除する。これらの関数は、IEnumMediaTypes インターフェイスを使用する場合に便利である。なぜなら、後で削除しなければならない構造体が実装によって割り当てられるからである。

関数は次のように対になっている。

AreEqualVideoTypes 2 つのビデオ ソースのフォーマット、高さ、および幅を比較する。
CopyMediaType タスク割り当て AM_MEDIA_TYPE 構造体をコピーする。
CreateAudioMediaType ウェーブ フォーマット構造体が指定されたメディア タイプ構造体を初期化する。
CreateMediaType AM_MEDIA_TYPE 構造体の割り当てと初期化を行う。
DeleteMediaType タスク割り当て AM_MEDIA_TYPE 構造体を削除する。
FreeMediaType タスク割り当て AM_MEDIA_TYPE 構造体をメモリから解放する。

AreEqualVideoTypes

メディア タイプ関数

2 つのメディア タイプのビデオ フォーマット、幅、および高さが同じかどうかを判定する。

構文

BOOL WINAPI AreEqualVideoTypes (
    CMediaType *pmt1,
    CMediaType *pmt2
    );

パラメータ

pmt1
比較する 1 番目のメディア タイプへのポインタ。
pmt2
比較する 2 番目のメディア タイプへのポインタ。

戻り値

pmt1pmt2 のビデオ フォーマット、幅、および高さが同じ場合は TRUE を返し、それ以外の場合は FALSE を返す。

CopyMediaType

メディア タイプ関数

タスク割り当て AM_MEDIA_TYPE 構造体をコピーする。

構文

void WINAPI CopyMediaType(
    AM_MEDIA_TYPE *pmtTarget,
    const AM_MEDIA_TYPE *pmtSource
    );

パラメータ

pmtTarget
構造体の新しいコピーを配置するメモリ領域へのポインタ。
pmtSource
コピーするソース構造体へのポインタ。

戻り値

戻り値なし。

注意

構造体の処理が終ったら、FreeMediaType を呼び出して pmtTarget 構造体内のリソースを解放すること。

CreateAudioMediaType

メディア タイプ関数

ウェーブ フォーマット構造体が指定されたメディア タイプ構造体を初期化する。

構文

STDAPI CreateAudioMediaType(
    const WAVEFORMATEX *pwfx,
    AM_MEDIA_TYPE *pmt,
    BOOL bSetFormat
    );

パラメータ

pwfx
提供された WAVEFORMATEX 構造体へのポインタ。
pmt
初期化する AM_MEDIA_TYPE 構造体へのポインタ。
bSetFormat
AM_MEDIA_TYPE 構造体のフォーマット セクション、つまり、cbFormat および pbFormat メンバを初期化するかどうかを示すフラグ。フォーマット セクションを初期化するには TRUE を、それ以外の場合は FALSE を指定する。

戻り値

フォーマット データのメモリを割り当てられなかった場合は E_OUTOFMEMORY を返し、それ以外の場合は S_OK を返す。

CreateMediaType

メディア タイプ関数

タスク割り当て AM_MEDIA_TYPE 構造体を作成する。

構文

AM_MEDIA_TYPE * WINAPI CreateMediaType(
    AM_MEDIA_TYPE const *pSrc
    );

パラメータ

pSrc
AM_MEDIA_TYPE ソース構造体へのポインタ。

戻り値

新しい AM_MEDIA_TYPE 構造体を返す。エラーが発生した場合は、NULL を返す。

注意

構造体の処理が終ったら、DeleteMediaType を呼び出して、このルーチンによって割り当てられた構造体およびリソースを解放すること。

DeleteMediaType

メディア タイプ関数

タスク割り当て AM_MEDIA_TYPE 構造体を削除する。

構文

void WINAPI DeleteMediaType(
    AM_MEDIA_TYPE *pmt
    );

パラメータ

pmt
AM_MEDIA_TYPE 構造体へのポインタ。

戻り値

戻り値なし。

注意

構造体は、CreateMediaType 呼び出しによって作成されていなければならない。

FreeMediaType

メディア タイプ関数

タスク割り当て AM_MEDIA_TYPE 構造体をメモリから解放する。

構文

void WINAPI FreeMediaType(
    AM_MEDIA_TYPE& mt
    );

パラメータ

mt
構造体へのポインタ。

戻り値

戻り値なし。

注意

構造体は、CopyMediaType 呼び出しによって初期化されていなければならない。