This function initializes a Filter session with license information passed in function parameters rather than a license file. Its return value, pContext
, is passed as the first argument to the File Extraction interface and all other Filter functions.
This function is similar to fpInit(), but it uses a different licensing method. You can use either fpInit() or fpInitWithLicenseData
to initialize your Filter session. However, these functions are mutually exclusive. That is, neither takes the context pointer from the other as an argument. If you call both functions, you initialize two distinct Filter sessions, in the same way as calling fpInit() twice.
void * pascal fpInitWithLicenseData( KVMemoryStream *pMemAllocator, KVDynLink *pDynLink, char *pszKeyViewDir, const char* const pszLicenseOrganization, const char* const pszLicenseKey, KVCharSet outputCharSet, DWORD dwFlags );
pMemAllocator
|
A pointer to a developer-defined memory allocator. If NULL is passed, the default C run-time memory allocation is used. |
pDynLink
|
This argument is reserved. It must be NULL . |
pszKeyViewDir
|
A pointer to the directory where the Filter components (such as the formats.ini file and file filters) are located. This is normally the install\OS\bin directory. |
pszLicenseOrganization
|
A pointer to a string that contains the organization name under which this installation of KeyView is licensed. This value is the company name that appears at the top of the license key provided by Micro Focus. Add the text exactly as it appears in this file. |
pszLicenseKey
|
A pointer to a string that contains the license key for this installation of KeyView. This value is the appropriate license key provided by Micro Focus. The key is a string that contains 31 characters, for example 2TQD22D-2M6FV66-2KPF23S-2GEM5AB . Type these characters exactly as they appear in the license key file, including the dashes, but do not include any leading or trailing spaces. |
outputCharSet
|
The character set to use for textual output when the source character set can be determined from the document or is specified by fpSetSrcCharSet(). The character sets are enumerated in |
dwFlags
|
Instructions on how to process a file or stream. See Flags for dwFlags for more information. |
KVF_CONTENTACCESS
|
Reserved for internal use. |
KVF_METADATA
|
Reserved for internal use. |
KVF_OUTOFPROCESS
|
Enables out-of-process filtering. This is enabled by default. See The Filter Process Model. |
KVF_INPROCESS
|
Enables in-process filtering. See The Filter Process Model. |
KVF_HEADERFOOTERTAGS
|
Puts tags around header and footer data. |
KVF_HEADERFOOTER
|
Extracts headers and footers. |
KVF_UNICODEMSBLSB
|
Uses the byte order for Big Endian systems (MSBLSB) for Unicode text. MSBLSB is the "Most Significant Byte Least Significant Byte." |
KVF_UNICODELSBMSB
|
Uses the byte order for Little Endian systems (LSBMSB) for Unicode text. LSBMSB is the "Least Significant Byte Most Significant Byte." |
KVF_UNICODEMARKER
|
Generates the byte order marker for Unicode text. |
KVF_NODEFAULTCHARSETCONVERT
|
Prevents default conversion of document character encoding. See Customize Character Set Detection and Conversion. |
KVF_OOPLOGON
|
Enables the out-of-process error log. See Enable or Disable Error Logging. |
KVF_OOPMEMTRACEON
|
Enables memory trace for the out-of-process error log. See Report Memory Errors. |
KVF_OOPLOGOFF
|
Disables the out-of-process error log. Enable or Disable Error Logging. |
KVF_OOPMEMTRACEOFF
|
Disables memory trace for the out-of-process error log. See Report Memory Errors. |
KVF_FILTERCONTAINERCONTENT
|
This flag is used by the Container API which is obsolete. It filters the main file and subfiles of a container file by using the standard filtering functions, and extracts the text to a single file. |
|
Set these flags in fpInit(), If you set neither of these flags, file detection behavior is determined by the |
pContext
which is passed as the first argument to all other File Extraction API and Filter API functions. NULL
.NULL
, check stderr
for the KeyView installation error messages "KeyView Filter SDK License Key has Expired"
and "KeyView Filter SDK License Key is Invalid
", and pass them to your application. fpInitWithLicenseData()
. In addition, threads must not share context pointers, and you must use the same context pointer for all API calls in the same thread. Creating a context pointer for every thread does not affect performance because the context pointer uses minimal resources.