次の方法で共有


ITfContextOwnerServices::Serialize メソッド (msctf.h)

ITfContextOwnerServices::Serialize メソッドは、テキストの範囲からプロパティを取得し、プロパティ データをストリーム オブジェクトに書き込みます。 これにより、データをファイルに書き込む場合など、アプリケーションでプロパティ データを格納できます。

構文

HRESULT Serialize(
  [in]  ITfProperty                       *pProp,
  [in]  ITfRange                          *pRange,
  [out] TF_PERSISTENT_PROPERTY_HEADER_ACP *pHdr,
  [in]  IStream                           *pStream
);

パラメーター

[in] pProp

シリアル化するプロパティを識別する ITfProperty インターフェイスへのポインター。

[in] pRange

プロパティの取得元の範囲を識別する ITfRange インターフェイスへのポインター。

[out] pHdr

プロパティのヘッダー データを受け取る TF_PERSISTENT_PROPERTY_HEADER_ACP 構造体へのポインター。

[in] pStream

TSF マネージャーがプロパティ データを書き込む IStream オブジェクトへのポインター。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

説明
S_OK
メソッドは正常に実行されました。
S_FALSE
プロパティをシリアル化できません。
E_FAIL
未指定のエラーが発生しました。

解説

pHdr に配置されるプロパティ ヘッダー データは、すべてのプロパティに共通であり、pStream に書き込まれたデータで保持する必要があります。 プロパティ データを復元するには、この同じデータ ペアを ITfContextOwnerServices::Unserialize に渡す必要があります。

アプリケーションでは、次の手順を実行して、ドキュメント全体のすべてのプロパティを保存できます。

  • ITfContext::EnumProperties を使用して、すべてのプロパティを列挙します。
  • 各プロパティ内で、 ITfReadOnlyProperty::EnumRanges を使用して範囲を列挙します。
  • 現在のプロパティと範囲をこのメソッドに渡します。
  • pHdr に配置されたデータをファイルに書き込みます。
  • pStream に追加されたデータをファイルに書き込みます。
このメソッドを呼び出すときは、アプリケーションが同期読み取り専用ロックを許可できる必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー msctf.h
[DLL] Msctf.dll
再頒布可能パッケージ Windows 2000 Professional の TSF 1.0

こちらもご覧ください

ITfContextOwnerServices

ITfProperty

ITfRange

TF_PERSISTENT_PROPERTY_HEADER_ACP