If the function succeeds, the return value is non-zero. If the
function fails, the return value is zero. To get extended error
information, call LlmGetLastError. All other client functions
will fail until a license key has been successfully validated.
This function should typically be called once during application
startup, before any other library functions are used. When a NULL
license key is specified, the library will only function on the
development system. Before redistributing the application to an
end-user, you must ensure that this function is called with a
valid license key.
The lpvReserved parameter is maintained for backward
compatibility and should always be NULL. Applications should
not pass a valid pointer or reference for this parameter. For
languages that do not use C-style pointers, you can typically
pass a value of zero for this parameter.
Although it is only required that LlmInitialize be called
once for the current process, it may be called multiple times;
however, each call must be matched by a corresponding call to
LlmUninitialize.
This function dynamically loads system libraries and allocates
thread-local storage. If you are calling this library from within
another DLL, do not call LlmInitialize or LlmUninitialize
from the DllMain function. Doing so can result in deadlocks or
access violations. If the DLL is linked with the C runtime library
(CRT), it will automatically call the constructors and destructors
for static and global C++ objects and has the same restrictions.