次の方法で共有


IFilter::GetText メソッド (filter.h)

注意

Indexing Service は Windows XP の時点ではサポートされなくなり、Windows 8時点では使用できません。 代わりに、クライアント側 検索には Windows Search を使用し、サーバー側の検索には Microsoft Search Server Express を使用します。

現在のチャンクからテキスト (テキスト型のプロパティ) を取得します。これは、 CHUNKSTATE 列挙値が CHUNK_TEXT である必要があります。

構文

SCODE GetText(
  [in, out] ULONG *pcwcBuffer,
  [out]     WCHAR *awcBuffer
);

パラメーター

[in, out] pcwcBuffer

入力時に、ワイド/Unicode 文字の awcBuffer 配列のサイズ。 終了時に、 awcBuffer に書き込まれた Unicode 文字の数。

[out] awcBuffer

現在のチャンクから取得されたテキスト。 バッファーを文字で終了しないでください。 null で終わる文字列を使用します。 null で終わる文字列は、宛先バッファーのサイズを超えてはなりません。

戻り値

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

リターン コード 説明
S_OK
操作が正常に完了しました。
FILTER_E_NO_TEXT
現在のチャンクのSTAT_CHUNK構造体の flags メンバーには、CHUNK_TEXTの値がありません。
FILTER_E_NO_MORE_TEXT
現在のチャンク内のすべてのテキストが返されました。 GetText メソッドの追加の呼び出しは、IFilter::GetChunk メソッドが正常に呼び出されるまで、このエラーを返す必要があります。
FILTER_S_LAST_TEXT
最適化として、テキストを返す最後の呼び出しはFILTER_S_LAST_TEXTを返すことができます。 これは、GetText メソッドの次の呼び出しでFILTER_E_NO_MORE_TEXTが返されることを示します。 この最適化により、 GetText の不要な呼び出しを排除することで時間を節約できます。

注釈

awcBuffer 配列に対して現在のチャンクが大きすぎる場合は、現在のチャンク内のすべてのテキストを取得するために、GetText メソッドを複数呼び出す必要があります。 GetText メソッドを呼び出すたびに、GetText メソッドの最後の呼び出しからテキストの直後にあるテキストが取得されます。 1 つの呼び出しの最後の文字は単語の中央に含めることができます。次の呼び出しの最初の文字はその単語を続行します。 検索エンジンは、この状況を処理する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー filter.h

こちらもご覧ください

CHUNKSTATE

Ifilter