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 InetGetLastError. All other 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 InetInitialize be called
once for the current process, it may be called multiple times;
however, each call must be matched by a corresponding call to
InetUninitialize.
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 InetInitialize or InetUninitialize 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.