The members of this structure are pointers to the functions described in Filter API Functions. When you call the KV_GetFilterInterfaceEx() function, this structure assigns pointers to the functions. The structure is defined in kvfilt.h
.
typedef struct tag_KVFltInterfaceEx { void * (pascal *fpInit) ( KVMemoryStream *, KVDynLink *, char *, KVCharSet, DWORD ); void (pascal *fpShutdown) (void *); void * (pascal *fpOpenStream)( void *, KVInputStream * ); void * (pascal *fpOpenStreamEx2) (void *, KVInputStream *, DWORD); BOOL (pascal *fpCloseStream)( void *, void * ); BOOL (pascal *fpCanFilterCharMap)( void *, adDocDesc * ); KVErrorCode (pascal *fpCanFilterFile)( void *, char * ); KVErrorCode (pascal *fpCanFilterStream) (void *, void *); KVErrorCode (pascal *fpFilterStream)( void *, void *, KVFilterOutput *, KVSummaryInfoEx * ); KVErrorCode (pascal *fpFilterFile)( void *, char *, char *, KVSummaryInfoEx * ); KVErrorCode (pascal *fpGetOLESummaryInfo)( void *, KVInputStream *, KVSummaryInfoEx * ); KVErrorCode (pascal *fpGetOLESummaryInfoFile)( void *, char *, KVSummaryInfoEx * ); BOOL (pascal *fpFreeOLESummaryInfo)( void *, KVSummaryInfoEx * ); KVCharSet (pascal *fpGetTrgCharSet)( void * ); BOOL (pascal *fpSetTimeout)( void *, long ); BOOL (pascal *fpSetSrcCharSet)( void *, KVCharSet ); BOOL (pascal *fpSetReplacementChar)( void *, char ); BOOL (pascal *fpGetDocInfoStream)( void *, KVInputStream *, ADDOCINFO * ); BOOL (pascal *fpGetDocInfoFile)( void *, char *, ADDOCINFO * ); BOOL (pascal *fpIsArchiveFile)( void *, char * ); BOOL (pascal *fpIsArchiveFileSupported)( void *, char * ); void * (pascal *fpOpenArchiveFile)( void *, char * ); int (pascal *fpGetNumFilesInArchiveFile)( void * ); KVErrorCode (pascal *fpGetArchiveFileInfo)( void *, int, TPArchiveFileInfo * ); KVErrorCode (pascal *fpExtractArchiveFile)( void *, int, char * ); BOOL (pascal *fpCloseArchiveFile)( void * ); /* Revision 1 of Filter Interface API starts here (#define KVFLTINTERFACE_REVISION). */ BOOL (pascal *fpFileToInputStreamCreate)(void *, char *, KVInputStream *); BOOL (pascal *fpFileToInputStreamFree)(void *, KVInputStream *); KVErrorCode (pascal *fpCanFilterAsContainer)(void *, KVInputStream *); void * (pascal *fpOpenContainerStream)(void *, KVInputStream *); BOOL (pascal *fpCloseContainerStream)( void *, void *); int (pascal *fpGetNumFilesInContainer)( void *, void *); KVErrorCode (pascal *fpGetContainerSubFileInfo)( void *, void *, int, TPContainerSubFileInfo *); BOOL (pascal *fpSetExtractionPath)(void *, void *, char *, BOOL); void (pascal *fpSetExtractionOverwrite)( void *, void *, BOOL); KVErrorCode (pascal *fpExtractContainerSubFile)( void *, void *, int, TPContainerSubFileInfo *); KVErrorCode (pascal *fpGetContainerContent)( void *, void *, KVFilterOutput *, BOOL * ); KVErrorCodeEx (pascal *fpGetKvErrorCodeEx)( void *pContext ); BOOL (pascal *fpFilterConfig)( void *pContext, int nType, int nValue, void *p ); /* Revision 2 of Filter Interface API starts here (#define KVFLTINTERFACE_REVISION) */ KVErrorCode (pascal *fpGetSubFileMetadada)( void *, void *, int, int *, int, KVSummaryInfoEx *, int ); KVErrorCode (pascal *fpFreeSubFileMetadada)( void *, void *, KVSummaryInfoEx * ); } KVFltInterfaceEx; KVErrorCode pascal KV_GetFilterInterfaceEx( KVFltInterfaceEx *pInterfaceEx, int version );
The member functions are described in Filter API Functions.
The following functions are deprecated:
fpIsArchiveFile
fpIsArchiveFileSupported
fpOpenArchiveFile
fpGetNumFilesInArchiveFile
fpGetArchiveFileInfo
fpExtractArchiveFile
fpCloseArchiveFile
fpCanFilterCharMap
fpCanFilterAsContainer
fpCloseContainerStream
fpGetNumFilesInContainer
fpGetContainerSubFileInfo
fpSetExtractionPath
fpSetExtractionOverwrite
fpExtractContainerSubFile
fpGetContainerContent
fpFreeSubFileMetadada