Initialization and shutdown

All API functions and interfaces initialize themselves implicitly whenever the first API call that requires initialization is made. The C/C++ API additionally supports manual initialization for diagnostics and extreme performance requirements.

Under most conditions the interfaces clean up after themselves and require no explicit shutdown procedure. An explicit termination function is provided only for the case of logging modules which are dynamically loaded and unloaded by one or more processes. (This cleanup routine can also be used to suppress development environment warnings about leakage of kernel object handles, but these apparent leaks are only a true problem in the case mentioned above. See the Troubleshooting appendix for further information.)