If the constructor fails to validate the runtime license,
subsequent methods in this class will fail. If the product is
installed with an evaluation license, then the application will
only function on the development system and cannot be
redistributed.
The constructor calls the DnsInitialize function to
initialize the library, which dynamically loads other system
libraries and allocates thread local storage. If you are using this
class within another DLL, it is important that you do not create or
destroy an instance of the class from within the DllMain
function because it can result in deadlocks or access violation
errors. You should not declare static or global instances of this
class within another DLL if it is linked with the C runtime library
(CRT) because it will automatically call the constructors and
destructors for static and global C++ objects and has the same
restrictions.