This function initializes an Export session. Its return value, pContext
, is passed as the first parameter to the File Extraction interface and all other Export functions.
void* pascal _export fpInit( KVMemoryStream *pMemAllocator, char *pszKeyViewDir, char *pszDataFile, KVErrorCode *pError, DWORD dWord);
|
A pointer to a developer-defined memory allocator. If |
|
A pointer to the directory where the Export components are located. This is normally the directory |
|
A pointer to the directory and file name of the Export data file, The |
|
A pointer to an error code defined in |
|
Reserved. Must be 0. |
If the call is successful, the return value is a pointer passed to all other functions.
If the call is unsuccessful, the return value is a NULL
pointer.
If pszKeyViewDir
is NULL
, the required components cannot be found. Ensure that it is valid.
If this function returns NULL
, check stderr
for the KeyView installation error messages, "KeyView Export SDK License Key has Expired
" and "KeyView Export SDK License Key is Invalid"
, and pass them to your application. See the Export SDK Installation Instructions for more information on the KeyView license feature.
To ensure multithreaded conversions are thread-safe, you must create a unique context pointer for every thread by calling fpInit()
. In addition, threads must not share context pointers, and the same context pointer must be used 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.
When the conversion context is no longer required, it should be terminated by calling fpShutdown()
. See fpShutDown().
The following sample code is from the cnv2html
sample program:
pKVHTML = (*KVHTMLInt.fpInit)(NULL, ".", NULL, &error, 0); if(!pKVHTML) { printf("Error initializing KVHTML: %d\n", error); mpFreeLibrary(hKVHTML); return 4; }
|