次の方法で共有


IPersistMediaPropertyBag::Load メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは Load 、メディア プロパティ バッグからフィルターにプロパティを読み込みます。

構文

HRESULT Load(
  [in] IMediaPropertyBag *pPropBag,
  [in] IErrorLog         *pErrorLog
);

パラメーター

[in] pPropBag

呼び出し元によって作成されたメディア プロパティ バッグの IMediaPropertyBag インターフェイスへのポインター。

[in] pErrorLog

予約済み。 値を NULL に設定 します

戻り値

HRESULT 値を返します。 次の値があります。

リターン コード 説明
S_OK
正常終了しました。
E_POINTER
NULL ポインター引数。
STG_E_ACCESSDENIED
アクセスが拒否されました。
VFW_E_WRONG_STATE
フィルター グラフが停止状態ではありません。

注釈

AVI Mux フィルターでこのメソッドを呼び出して、プロパティを AVI ストリームに書き込みます。 フィルター グラフを実行してファイルを作成する前に、フィルターが停止したときに メソッドを呼び出します。 グラフが実行されると、フィルターによって INFO チャンクが AVI ヘッダーに書き込まれます。

次のコード例では、IART (作成者名) INFO チャンクをファイルに追加します。

C++
IPersistMediaPropertyBag *pPersist = NULL;IMediaPropertyBag *pBag = NULL;VARIANT val;

AVI Mux フィルターで IPersistMediaPropertyBag を照会します (表示されません)。

CoCreateInstance(CLSID_MediaPropertyBag, NULL, CLSCTX_INPROC, IID_IMediaPropertyBag, (LPVOID *)&pBag);

val.vt = VT_BSTR; val.bstrVal = SysAllocString(OLESTR("Author Name")); pBag->Write(OLESTR("INFO/IART"), &val); pPersist->Load(pBag, NULL); VariantClear(&val);

AVI スプリッター フィルターと WAVE パーサーでは、このメソッドはサポートされていません。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IPersistMediaPropertyBag インターフェイス