次の方法で共有


MFSerializeAttributesToStream 関数 (mfobjects.h)

属性ストアの内容をストリームに書き込みます。

構文

HRESULT MFSerializeAttributesToStream(
  IMFAttributes *pAttr,
  DWORD         dwOptions,
  IStream       *pStm
);

パラメーター

pAttr

属性ストアの IMFAttributes インターフェイスへのポインター。

dwOptions

MF_ATTRIBUTE_SERIALIZE_OPTIONS列挙からの 0 個以上のフラグのビットごとの OR

pStm

属性が保存されるストリームの IStream インターフェイスへのポインター。

戻り値

関数は HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。

解説

dwOptions に MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF フラグが含まれている場合、関数は属性ストア内の IUnknown ポインターを次のようにシリアル化します。

  • IStream ポインターが (QueryInterface を介して) IMFObjectReferenceStream インターフェイスを公開する場合、関数は IMFObjectReferenceStream::SaveReference を呼び出して各ポインターをシリアル化します。
  • それ以外の場合、関数は CoMarshalInterface を呼び出して、 オブジェクトのプロキシをシリアル化します。
dwOptions に MF_ATTRIBUTE_SERIALIZE_UNKNOWN_BYREF フラグが含まれていない場合、関数は属性ストア内の IUnknown ポインターをスキップします。

ストリームから属性を読み込むには、 MFDeserializeAttributesFromStream を呼び出します。

この関数のメイン目的は、プロセス境界を越えて属性をマーシャリングすることです。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー mfobjects.h (Mfidl.h を含む)
Library Mfplat.lib
[DLL] Mfplat.dll

関連項目

属性とプロパティ

メディア ファンデーション機能