KVXMLInterfaceEx
The members of this structure are pointers to the API functions described in XML Export API Functions.
This structure supersedes KVXMLInterface
. KVXMLInterfaceEx
should be used instead of KVXMLInterface
.
Compared to KVXMLInterface
, KVXMLInterfaceEx
adds two functions for checking error codes, and allows for binary compatible extensibility in future releases.
typedef void* (pascal *KVXML_INIT) ( KVMemoryStream *pMemAllocator, char *pszKeyViewDir, char *pszDataFile, KVErrorCode *;, DWORD dWord); typedef void (pascal *KVXML_SHUTDOWN)(void*); typedef BOOL (pascal *KVXML_CONVERT_STREAM) ( void *pContext, void *pCallingContext, KVInputStream *pInput, KVOutputStream *pOutput, KVXMLTemplate *pTemplates, KVXMLOptions *pOptions, KVXMLTOCOptions *pTOCCreateOptions, KVXMLCallbacks *pCallbacks, BOOL bIndex, KVErrorCode *pError); typedef char** (pascal *KVXML_GET_FILE_LIST)( void *pContext, int *pnSize ); typedef BOOL (pascal *KVXML_GET_STREAM_INFO)( void *pContext, KVInputStream *pInput, KVStreamInfo *pStreamInfo ); typedef BOOL (pascal *KVXML_GET_ANCHOR) ( void *pCallingContext, KVXMLAnchorType eAnchorType, char *pszAnchor, int cbAnchorMax, BYTE *pcHTML, UINT cbHTML); typedef BOOL (pascal *KVXML_INPUTSTREAM_CREATE) ( void *pContext, char *pszFileName, KVInputStream *pInput); typedef BOOL (pascal *KVXML_INPUTSTREAM_FREE) ( void *pContext, KVInputStream *pInput); typedef BOOL (pascal *KVXML_OUTPUTSTREAM_CREATE) ( void *pContext, char *pszFileName, KVOutputStream *pOutput ); typedef BOOL (pascal *KVXML_OUTPUTSTREAM_FREE)( void *pContext, KVOutputStream *pOutput ); typedef KVLanguageID (pascal *KVXML_LANGUAGE_ID)(void *pContext); typedef BOOL (pascal *KVXML_GET_SUMMARY_INFO)( void *pContext, KVInputStream *pInput, KVSummaryInfoEx *pSummary, BOOL bFree ); typedef BOOL (pascal *KVXML_SET_STYLE_MAPPING) ( void *pContext, KVStyle *pStyles, int iStyles, BOOL bCopy); typedef BOOL (pascal *KVXML_VALIDATE_TEMPLATE)( void *pContext, KVOutputStream *pOutput, KVXMLTemplate *pTemplate, KVXMLOptions *pOptions, KVXMLTOCOptions *pTOCOptions, KVXMLCallbacks *pCallBalls, KVMemoryStream *pMemStream); typedef KVErrorCode(pascal *KVXML_GET_KV_ERROR_CODE) (void *); typedef KVErrorCodeEx(pascal *KVXML_GET_KV_ERROR_CODE_EX) (void *); typedef struct tag_KVXMLInterfaceEx { KVStructHeader; KVXML_INITEX fpInit; KVXML_SHUTDOWN fpShutDown; KVXML_CONVERT_STREAMEX fpConvertStream; KVXML_GET_FILE_LIST fpGetConvertFileList; KVXML_GET_STREAM_INFO fpGetStreamInfo; KVXML_GET_ANCHOREX fpGetAnchor; KVXML_INPUTSTREAM_CREATE fpFileToInputStreamCreate; KVXML_INPUTSTREAM_FREE fpFileToInputStreamFree; KVXML_OUTPUTSTREAM_CREATE fpFileToOutputStreamCreate; KVXML_OUTPUTSTREAM_FREE fpFileToOutputStreamFree; KVXML_GET_SUMMARY_INFO fpGetSummaryInfo; KVXML_SET_STYLE_MAPPING fpSetStyleMapping; KVXML_VALIDATE_TEMPLATE fpValidateTemplate; KVXML_GET_KV_ERROR_CODE fpGetKvErrorCode; KVXML_GET_KV_ERROR_CODE_EX fpGetKvErrorCodeEx; } KVXMLInterfaceEx;