Validation Test
Note
Indexing Service is no longer supported as of Windows XP and is unavailable for use as of Windows 8. Instead, use Windows Search for client side search and Microsoft Search Server Express for server side search.
The validation test steps through the object one chunk at a time, verifying each individual chunk and all return codes. This function saves all returned STAT_CHUNK structures in a list. The validation test verifies the following conditions.
- Chunk IDs are unique and increasing.
- STAT_CHUNK.flags is a recognized chunk state (CHUNK_TEXT or CHUNK_VALUE).
- STAT_CHUNK.breakType is a recognized break type (0,1,2,3,4).
- If the filter initialization attributes specify that the filter should only return chunks containing internal value-type properties, STAT_CHUNK.idChunkSource must equal 0.
- If chunk is not derived—that is, if it is not a internal value-type property—idChunkSource must equal idChunk.
- IFilter::GetChunk returns S_OK or an accepted value (FILTER_E_END_OF_CHUNKS, FILTER_E_LINK_UNAVAILABLE, and so forth).
- If the chunk contains text, IFilter::GetText returns S_OK, FILTER_S_LAST_TEXT, or FILTER_E_NO_MORE_TEXT.
- If IFilter::GetText returns FILTER_S_LAST_TEXT, the next call to IFilter::GetText should return FILTER_E_NO_MORE_TEXT.
- If the chunk contains a value, IFilter::GetValue returns S_OK or FILTER_E_NO_MORE_VALUES.