KVHTMLInterfaceEx2

The members of this structure are pointers to the API functions described in HTML Export API Functions.

This structure supersedes KVHTMLInterfaceEx. KVHTMLInterfaceEx2 should be used instead of KVHTMLInterfaceEx.

Compared to KVHTMLInterfaceEx, KVHTMLInterfaceEx2 adds two functions for checking error codes, and allows for binary compatible extensibility in future releases.

typedef void* (pascal *KVHTML_INITEX) (
		KVMemoryStream *pMemAllocator,
		char *pszKeyViewDir,
		char *pszDataFile,
		KVErrorCode *pError,
		DWORD dWord);
	typedef void (pascal *KVHTML_SHUTDOWN)(void*);
	typedef BOOL (pascal *KVHTML_CONVERT_STREAMEX) (
		void *pContext,
		void *pCallingContext,
		KVInputStream *pInput,
		KVOutputStream *pOutput,
		KVHTMLTemplateEx *pTemplatesEx,
		KVHTMLOptionsEx *pOptionsEx,
		KVHTMLTOCOptions *pTOCCreateOptions,
		KVHTMLCallbacksEx *pCallbacksEx,
		BOOL bIndex,
		KVErrorCode *pError);
	typedef char** (pascal *KVHTML_GET_FILE_LIST)(
		void *pContext,
		int *pnSize );
	typedef BOOL (pascal *KVHTML_GET_STREAM_INFO)(
		void *pContext,
		KVInputStream *pInput,
		KVStreamInfo *pStreamInfo );
	typedef BOOL (pascal *KVHTML_GET_ANCHOREX) (
		void *pCallingContext,
		KVHTMLAnchorTypeEx eAnchorTypeEx,
		char *pszAnchor,
		int cbAnchorMax,
		BYTE *pcHTML,
		UINT cbHTML);
	typedef BOOL (pascal *KVHTML_INPUTSTREAM_CREATE) (
		void *pContext,
		char *pszFileName,
		KVInputStream *pInput);
	typedef BOOL (pascal *KVHTML_INPUTSTREAM_FREE) (
		void *pContext,
		KVInputStream *pInput);
	typedef BOOL (pascal *KVHTML_OUTPUTSTREAM_CREATE) (
		void *pContext,
		char *pszFileName,
		KVOutputStream *pOutput );
	typedef BOOL (pascal *KVHTML_OUTPUTSTREAM_FREE)(
		void *pContext,
		KVOutputStream *pOutput );
	typedef KVLanguageID (pascal *KVHTML_LANGUAGE_ID)(void *pContext);
	typedef BOOL (pascal *KVHTML_GET_SUMMARY_INFO)(
		void *pContext,
		KVInputStream *pInput,
		KVSummaryInfoEx *pSummary,
		BOOL bFree );
	typedef BOOL (pascal *KVHTML_SET_STYLE_MAPPING) (
		void *pContext,
		KVStyle *pStyles,
		int iStyles,
		BOOL bCopy);
	typedef BOOL (pascal *KVHTML_VALIDATE_TEMPLATE)(
		void *pContext,
		KVOutputStream *pOutput,
		KVHTMLTemplate *pTemplate,
		KVHTMLOptions *pOptions,
		KVHTMLTOCOptions *pTOCOptions,
		KVHTMLCallbacks *pCallBalls,
		KVMemoryStream *pMemStream);
	typedef KVErrorCode (pascal *KVHTML_GET_KV_ERROR_CODE)(void *);
	typedef KVErrorCodeEx (pascal *KVHTML_GET_KV_ERROR_CODE_EX)(void *);

	typedef struct tag_KVHTMLInterfaceEx2
	{
		KVStructHeader;
		KVHTML_INITEX fpInit;
		KVHTML_SHUTDOWN fpShutDown;
		KVHTML_CONVERT_STREAMEX fpConvertStream;
		KVHTML_GET_FILE_LIST fpGetConvertFileList;
		KVHTML_GET_STREAM_INFO fpGetStreamInfo;
		KVHTML_GET_ANCHOREX fpGetAnchor;
		KVHTML_INPUTSTREAM_CREATE fpFileToInputStreamCreate;
		KVHTML_INPUTSTREAM_FREE fpFileToInputStreamFree;
		KVHTML_OUTPUTSTREAM_CREATE fpFileToOutputStreamCreate;
		KVHTML_OUTPUTSTREAM_FREE fpFileToOutputStreamFree;
		KVHTML_GET_SUMMARY_INFO fpGetSummaryInfo;
		KVHTML_SET_STYLE_MAPPING fpSetStyleMapping;
		KVHTML_VALIDATE_TEMPLATE fpValidateTemplate;
		KVHTML_GET_KV_ERROR_CODE     fpGetKvErrorCode;
		KVHTML_GET_KV_ERROR_CODE_EX  fpGetKvErrorCodeEx;
	}
	KVHTMLInterfaceEx2;