IFilter::GetText 方法 (filter.h)

注意

從 Windows XP 開始,不再支援編製索引服務,無法從 Windows 8 使用。 請改用 Windows 搜尋 進行客戶端搜尋,並使用 Microsoft Search Server Express 進行伺服器端搜尋。

從目前的區塊擷取文字 (文字類型屬性) ,其必須具有 CHUNK_TEXT的 CHUNKSTATE 列舉值。

語法

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結構的旗標成員沒有值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 方法文字的文字。 一個呼叫的最後一個字元可以位於單字中間,而下一個呼叫中的第一個字元會繼續該字。 搜尋引擎必須處理這種情況。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 filter.h

另請參閱

CHUNKSTATE

IFilter