The fpConvertStream() and KVXMLConvertFile() functions enable you to specify a callback function. A callback function controls the conversion while it is in progress. For example, you can specify a callback function to report progress during the conversion.

To use the API callback functions, declare one or more instances of the KVXMLCallbacks structure. Each member of this instance can then be initialized by assigning a function pointer to the application-defined callback functions, cast to the appropriate function prototype. Each instance of KVXMLCallbacks can define unique callback functions. Alternatively, the functions can be common to all instances of KVXMLCallbacks; these functions take appropriate action, depending on the value of the pointer pCallingContext.

The second parameter (pCallingContext) of the call to fpConvertStream() and KVXMLConvertFile() provides a void pointer used to identify the context of this call. If more than one call to fpConvertStream() or KVXMLConvertFile() is made within a single application, any resulting callbacks are identified by the first parameter of the callback function. This enables the callback function to take any appropriate action, depending on which calling context is returned.

The seventh parameter (pCallbacks) of the call to fpConvertStream() and KVXMLConvertFile() must be set to the address of the KVXMLCallbacks structure to be used for this call.

For sample code, see the sample program xmlcallback.c. It creates an XML stream and demonstrates the use of the callback functions.