# KVErrorCodeEx

This enumerated type defines extended error codes. The type is defined in `kverrorcodes.h`.

Some of these error codes provide more information when `fpFilterFile()` or `fpFilterStream()` returns the error `KVERR_General`. To return these error codes, call fpGetKvErrorCodeEx().

## Definition

    typedef enum tag_KVErrorCodeEx
    {
    	KVError_OpenStreamFailure = KVERR_ArchiveFatalError + 1,   /* 22 */
    	KVError_InterfaceFunctionNotFound,                         /* 23 */
    	KVError_InputFileNotFound,                                 /* 24 */
    	KVError_OpenOutputFileFailed,                              /* 25 */
    	KVError_MemoryLeak,                                        /* 26 */
    	KVError_MemoryOverwrite,                                   /* 27 */
    	KVError_GPF,                                               /* 28 */
    	KVError_OopCore,                                           /* 29 */
    	KVError_KVoopLogFailed,                                    /* 30 */
    	KVError_OverNestedFileLimit,                               /* 31 */
    	KVError_PSTAccessFailed,                                   /* 32 */
    	KVError_PasswordRequired,                                  /* 33 */
    	KVError_InvalidArgs,                                       /* 34 */
    	KVError_ReaderUsageDenied,                                 /* 35 */
    	KVError_OopBadConfig,                                      /* 36 */
    	KVError_OopBrokenPipe,                                     /* 37 */
    	KVError_OopPipeOEF,                                        /* 38 */
    	KVError_IPCTimeOut,                                        /* 39 */
    	KVError_InvalidOopDriverSignature,                         /* 40 */
    	KVError_InvalidOopServiceSignature,                        /* 41 */
    	KVError_ZeroFile,                                          /* 42 */
    	KVError_CompressionNotSupported,                           /* 43 */
    	KVError_NoTemplates,                                       /* 44 */
    	KVError_NoMainTemplate,                                    /* 45 */
    	KVError_InvalidTemplate,                                   /* 46 */
    	KVError_TemplateError,                                     /* 47 */
    	KVError_IsADirectory,                                      /* 48 */
    	KVError_RMSDecryptionFailed,                               /* 49 */
    	KVError_InvalidLicense,                                    /* 50 */
    	KVError_Last                                               /* 51 */
    }
    KVErrorCodeEx;

## Enumerators

`KVError_OpenStreamFailure` | Failed to open a stream during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_InterfaceFunctionNotFound` | An interface function was not found during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_InputFileNotFound` | Could not find the input file during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_OpenOutputFileFailed` | Could not open the output file during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_MemoryLeak` | A memory leak occurred during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_MemoryOverwrite` | A memory overwrite occurred during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_GPF` | An exception occurred during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_OopCore` | A memory dump was generated in a child process during out-of-process filtering. This is an extended error for the `KVERR_General` code.
`KVError_KVoopLogFailed` | The creation of the out-of-process error log failed. This is an extended error for the `KVERR_General` code.
`KVError_OverNestedFileLimit` | The container file has more than the allowable number of child documents. One or more child documents were not converted. Currently, this enumerator is not used.
`KVError_PSTAccessFailed` | The PST file could not be converted. This error might be returned when a call to `fpOpenFile()` returns `NULL` for one of the following reasons: A Microsoft Outlook client is not installed. A Microsoft Outlook client is installed, but is not the default email client. A Microsoft Outlook client is installed, but is not configured correctly. The PST file is corrupt. The PST file is read-only (PST files must allow read and write access). The MAPI call fails. The bit editions of Microsoft Outlook do not match the bit editions of the KeyView software. For example, if 32-bit KeyView is used, 32-bit Outlook must be installed. If 64-bit KeyView is used, 64-bit Outlook must be installed.
`KVError_PasswordRequired` | To open the file, you must provide credentials. This error might be returned when a call to `fpOpenFile()` returns `NULL`.
`KVError_InvalidArgs` | The input argument or structure is invalid. This error is generated by the File Extraction APIs.
`KVError_ReaderUsageDenied` | The current license key does not enable the document reader required to filter the file. This error might be returned when a call to `fpOpenFile()` returns `NULL`. Some document readers are considered advanced features and are licensed separately from the KeyView SDK (for example, the PST and MBX readers). Contact your Micro Focus sales representative to get an updated license key.
`KVError_OopBadConfig` | Information in the `kvxconfig.ini` file is incomplete and cannot be used to filter the XML file.
`KVError_OopBrokenPipe` | Data was not transferred between the parent and child processes during out-of-process filtering because either the parent or child failed.
`KVError_OopPipeOEF` | Data was not transferred between the parent and child processes during out-of-process filtering because the parent process was shut down.
`KVError_IPCTimeOut` | Either the parent or child process is waiting for a reply or request during out-of-process filtering.
`KVError_InvalidOopDriverSignature` | A client sent a request to an out-of-process server, but the context driver does not exist on the server.
`KVError_InvalidOopServiceSignature` | A client sent a request to a File Extraction service that does not exist. If this error is generated on the call to `fpClose()`, you can ignore it.
`KVError_ZeroFile` | The input file is empty or zero bytes.
`KVError_CompressionNotSupported` | The file or subfile is compressed with an unsupported compression method.
`KVError_NoTemplates` |
`KVError_NoMainTemplate` |
`KVError_InvalidTemplate` |
`KVError_TemplateError` |
`KVError_IsADirectory` |
`KVError_RMSDecryptionFailed` | KeyView was not able to access the protected contents of an RMS file.
`KVError_InvalidLicense` | The license used to initialize KeyView is not valid for this operation.
`KVError_Last` |

## Discussion

- When error reporting is enhanced in future releases, new error messages might be added to this enumerator type. When you use this type, your code must ensure binary compatibility with future releases. See Programming Guidelines.
- If an extended error code is called for a format to which the error does not apply, the `KVError_Last` code is returned.

_FT_HTML5_bannerTitle.htm