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 PopGetLastError. All other client
functions will fail until a license key has been successfully
validated.
This must be the first function that an application calls before
using any of the other functions in the library. 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 insure that this function is called with a valid
license key.
If the lpData argument is specified, it must point to an
INITDATA structure which has been initialized by setting the
dwSize member to the size of the structure. All other
structure members should be set to zero. If the function is
successful, then the INITDATA structure will be filled with
identifying information about the library.
Although it is only required that PopInitialize be called
once for the current process, it may be called multiple times;
however, each call must be matched by a corresponding call to
PopUninitialize.
This function dynamically loads other system libraries and
allocates thread local storage. If you are calling the functions in
this library from within another DLL, it is important that you do
not call the PopInitialize or PopUninitialize
functions from the DllMain function because it can result in
deadlocks or access violation errors. 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.