KVExtractInterface

The members of this structure are pointers to the file extraction functions described in File Extraction API Functions. Calling the KVGetExtractInterface() function assigns the function pointers in the structure. The structure is defined in kvxtract.h.

typedef struct  tag_KVExtractInterface
{
KVStructHeader;
  int  (pascal *fpOpenFile) (void *pContext,KVOpenFileArg openArg, void **pFileHandle);
  int  (pascal *fpCloseFile)   (void *pFileHandle);
  int  (pascal *fpGetMainFileInfo) (void *pFile, KVMainFileInfo *MainFileInfo);
  int  (pascal *fpGetSubFileInfo)  (void *pFile, int index, KVSubFileInfo *subFileInfo);
  int  (pascal *fpGetSubFileMetaData)  (void *pFile, KVGetSubFileMetaArg metaArg, KVSubFileMetaData *metaData);
  int  (pascal *fpExtractSubFile)  (void *pFile, KVExtractSubFileArg extractArg, KVSubFileExtractInfo *extractInfo);
  int  (pascal *fpFreeStruct) (void *pFile, void *obj);
  int  (pascal *fpOpenSubFile) (void *pFile, KVExtractSubFileArg extractArg, KVInputStream **stream);
  int  (pascal *fpGetExtractInfo)(KVInputStream* stream, KVSubFileExtractInfo* extractInfo);
  int  (pascal *fpGetExtractStatus)(KVInputStream* stream);
  int  (pascal *fpCloseSubFile) (KVInputStream *stream);
}
KVExtractInterfaceRec, *KVExtractInterface;

Member Descriptions

The member functions are described in File Extraction API Functions.

Discussion

Before you initialize a File Extraction structure, use the KVStructInit macro to initialize the KVStructHead structure. This process sets the revision number of the File Extraction API and supports binary compatibility with future releases.