# KVFltInterfaceEx

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

## Member Descriptions

The member functions are described in Filter API Functions.

## Discussion

The following functions are deprecated:

- `fpIsArchiveFile`
- `fpIsArchiveFileSupported`
- `fpOpenArchiveFile`
- `fpGetNumFilesInArchiveFile`
- `fpGetArchiveFileInfo`
- `fpExtractArchiveFile`
- `fpCloseArchiveFile`
- `fpCanFilterCharMap`
- `fpCanFilterAsContainer`
- `fpCloseContainerStream`
- `fpGetNumFilesInContainer`
- `fpGetContainerSubFileInfo`
- `fpSetExtractionPath`
- `fpSetExtractionOverwrite`
- `fpExtractContainerSubFile`
- `fpGetContainerContent`
- `fpFreeSubFileMetadada`

_FT_HTML5_bannerTitle.htm