Microsoft DirectX 8.0

IMediaSample2 インターフェイス

メディア サンプルのプロパティをセットし取得する。このインターフェイスは IMediaSample インターフェイスを継承する。IMediaSample インターフェイスは各サンプル プロパティに別々のメソッド呼び出しを要求する。IMediaSample2 インターフェイスは複数のプロパティを一度でセットあるいは取得できるメソッドを追加する。

メディア サンプルは IMediaSample2 のサポートを保証していない。しかしアロケータが IMediaSample2 をサポートするサンプルを作成すれば、それがサポートするすべてのサンプルはそのインターフェイスをサポートしなければならない。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IMediaSample メソッド説明
GetPointer このバッファのメモリへの読み取り/書き込みポインタを取得する。
GetSize バッファのサイズを取得する。
GetTime このサンプルが開始および終了すべきストリーム タイムを取得する。
SetTime このサンプルが開始および終了すべきストリーム タイムを設定する。
IsSyncPoint サンプルの始まりが同期ポイントかどうかを判断する。
SetSyncPoint このサンプルの開始が同期ポイントかどうかを指定する。
IsPreroll このサンプルがプリロール サンプルかどうかを確認する。
SetPreroll このサンプルがプリロール サンプルかどうかを設定する。
GetActualDataLength バッファ内の有効なデータの長さを取得する。
SetActualDataLength バッファ内の有効なデータの長さを設定する。
GetMediaType メディア タイプが以前のサンプルと異なるなら、メディア タイプを取得する。
SetMediaType サンプルのメディア タイプを設定する。
IsDiscontinuity このサンプルがデータ ストリーム内でブレークを表示するかどうかを確認する。
SetDiscontinuity このサンプルがデータ ストリーム内でブレークを表示するかどうかを指定する。
GetMediaTime このサンプルのメディア タイムを取得する。
SetMediaTime このサンプルのメディア タイムを設定する。 定する。
IMediaSample2 メソッド説明
GetProperties メディア サンプルのプロパティを取得する。
SetProperties メディア サンプルのプロパティを設定する。

IMediaSample2::GetProperties

IMediaSample2 インターフェイス

メディア サンプルのプロパティを取得する。

構文

HRESULT GetProperties(
    DWORD cbProperties,
    BYTE *pbProperties
    );

パラメータ

cbProperties
[in] 取得するプロパティ データの長さ (バイト単位)。
pbProperties
[out] cbProperties サイズのバッファへのポインタ。

戻り値

HRESULT 値を返す。以下のいずれかの値。

S_OK成功。
E_POINTERNULL ポインタ引数。

注意

受け取ったデータは AM_SAMPLE2_PROPERTIES 構造体のフォーマットに従う。cbPropertiesAM_SAMPLE2_PROPERTIES 構造体のサイズより小さい値にセットすれば、サンプル プロパティのサブセットを取得することができる。

効率のため、AM_SAMPLE2_PROPERTIES に返る pMediaType メンバはメディア サンプルにストアされているデータのポインタであり、そのデータのコピーではない。サンプルが他のフィルタに渡された後、あるいは入力ピンの IMemInputPin::Receive メソッドが完了した後では、そのポインタは無効となる可能性がある。またメディア タイプを解放あるいは削除してはならない。

IMediaSample2::SetProperties

IMediaSample2 インターフェイス

メディア サンプルのプロパティを設定する。

構文

HRESULT SetProperties(
    DWORD cbProperties,
    const BYTE *pbProperties
    );

パラメータ

cbProperties
[in] 設定するプロパティ データの長さ (バイト単位)。
pbProperties
[in] cbProperties サイズのバッファへのポインタ。

戻り値

HRESULT 値を返す。以下のいずれかの値。

S_OK成功。
E_INVALIDARG不適切な引数。
E_OUTOFMEMORYメモリ不足。
E_POINTERNULL ポインタ引数。

注意

pbProperties 内に入るデータは AM_SAMPLE2_PROPERTIES 構造体のフォーマットに従わなければならない。cbPropertiesAM_SAMPLE2_PROPERTIES 構造体のサイズより小さい値にセットすれば、サンプル プロパティのサブセットを指定することができる。