How to Write a Custom Reader

Two include files define the requirements for a custom reader: kvcfsr.h and kvtoken.h. The definitions of the KeyView tokens are in kvtoken.h. For more information on tokens, see Token Buffer. The file kvcfsr.h defines two structures: TPReaderInterface and adTPDocInfo.

The TPReaderInterface structure defines the API functions implemented by the custom reader. For basic readers, only the first four functions must be implemented. These functions are called by the structured access layer to parse the source file and generate the token stream.

All readers must be threadsafe. This means that global variables must not be used. To pass information between functions, it is necessary to define a "global" context structure that stores all information required throughout the life of the DLL. The initial parameter of all but one of the TPReaderInterface functions is a pointer to a global context structure defined for the custom reader.

The adTPDocInfo structure defines the information required for the format detection API, which associates the custom reader with the required file format.