fpFilterStream()

This function filters text from an input stream to an output buffer.

DEPRECATED: The fpFilterStream() function is deprecated in KeyView 23.2.0 and later. OpenText recommends that you create a KVDocument to represent each document, and use fpFilter() instead.

This function is still available for existing implementations, but it might be incompatible with new functionality and might be removed in future.

Syntax

KVErrorCode pascal fpFilterStream( 
    KVFilterSession  session,
    void            *pStreamContext
    KVFilterOutput  *pFilterOutput,
    KVSummaryInfoEx *pSummaryInfo);

Arguments

session

A KeyView Filter session that you initialized by calling fpInit().

pStreamContext A pointer returned from fpOpenStream() or fpOpenStreamEx2().
pFilterOutput A pointer to the KVFilterOutput structure. This structure defines the output buffer.
pSummaryInfo This argument is reserved. It must be NULL.

Returns

The return value is an error code. See KVErrorCode.

Discussion

  • This function processes data in chunks. To return the entire output stream, you must call this function repeatedly until the entire output buffer is processed, that is, until the following condition occurs:

    pFilterOutput-> cbText == 0
  • This function runs in process or out of process. See The Filter Process Model.
  • After each call to fpFilterStream, once the data in the pFilterOutput argument is no longer required, call fpFreeFilterOutput to free the memory allocated by this function.
  • When filtering out-of-process in streaming mode (see Configure Pipe-Streaming), you must finish filtering the stream before using any interface function other than fpFilterStream() or fpCloseStream() with the same context pointer. Filtering can be completed at any time by calling fpCloseStream() or by calling fpFilterStream() until pFilterOutput->cbText == 0.

Example

error = (int)(*pFilterInterface->fpFilterStream)( pFilter, pStream, &filterOut, NULL );