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
|
|