fpOpenFileFromFilterSession()
This function opens a container file so that you can extract its subfiles.
Syntax
KVErrorCode (pascal *fpOpenFileFromFilterSession)( KVFilterSession session, KVOpenFileArg openArg, void** pFile );
Arguments
session
|
A KeyView Filter session that you initialized by calling fpInit(). |
openArg
|
A pointer to a KVOpenFileArg structure which contains the parameters necessary to open a file for extraction. Before you initialize the KVOpenFileArg structure, use the macro KVStructInit to initialize the KVStructHead structure. |
pFile
|
A handle for the opened file. Use this handle in subsequent file extraction calls to identify the source file. |
Returns
- If the file is opened successfully, the return value is
KVERR_Success
. - If the file is not opened, the return value is an error code and
pFile
points toNULL
.
Discussion
After you have finished extracting the file, call fpCloseFile() to free the memory allocated by this function.
When extracting out-of-process in stream mode, you can only open one container at a time (per session
).
Example
KVOpenFileArgRec openArg; // Initialize the structure using KVStructInit KVStructInit(&openArg); openArg.extractDir = destDir; openArg.document = pDocument; /*Open the main file */ if (error = extractInterface->fpOpenFileFromFilterSession(session, &openArg, &pFile)) { extractInterface->fpCloseFile(pFile); pFile = NULL; }