Run File Extraction Functions Out of Process

The out-of-process setting specified in the call to fpInit() or in the formats.ini file is automatically propagated to the File Extraction API in the call to KVGetExtractInterface(). In KVGetExtractInterface(), you pass a context pointer from fpInit() and the address of a structure that contains pointers to the File Extraction functions.

When you extract subfiles from container files and pass the files for filtering out of process, Filter generates a server called kvoop.exe for filtering and a duplicate server (also called kvoop.exe) for file extraction. These servers are independent, so that if the filtering service stops responding, the file extraction service can continue extracting files.

Restart the File Extraction Server

If the file extraction server fails with either the KVError_InvalidOopDriverSignature error, or the KVError_InvalidOopServiceSignature error, you must restart the server by calling KVGetExtractInterface() and passing the original extraction structure. (Restarting the server in this way does not affect performance beyond the cost of restarting the server.)

If you restart the file extraction server before the recursive extraction of subfiles is complete, the new server has no history of the subfiles extracted prior to the restart. If you then call a File Extraction function on one of the extracted files, the KVError_InvalidOopServiceSignature error is generated, because the server that extracted the files is no longer running and was replaced with a new kvoop server. HPE recommends that you do not make calls to the File Extraction functions by using an invalid container context structure (KVContainerContext) after you restart the server.


HPE recommends that whenever possible you restart the file extraction server only after the file recursion is complete. There must be only one out-of-process session per file recursion.