MI_Application_InitializeV1 function (mi.h)
Initializes an application so that it can make Management Infrastructure (MI) client API calls.
MI_Result MI_MAIN_CALL MI_Application_InitializeV1( MI_Uint32 flags, [in, optional] const MI_Char *applicationID, [out, optional] MI_Instance **extendedError, [out] MI_Application *application );
Must be 0.
[in, optional] applicationID
An optional string (usually GUID in string format) to represent a client application. This string may be used for application specific configuration and application specific logging.
[out, optional] extendedError
Optional parameter giving more error information if the operation failed. If an instance is returned, MI_Instance_Delete must be called to free it when it is no longer needed.
A pointer to an uninitialized MI_Application handle is passed in and a populated handle is returned. The initialized handle must be passed to MI_Application_Close before the application shuts down. If an application passes this handle, pass it by value rather than as a pointer.
This function returns MI_Result MI_MAIN_CALL.
This API needs to be called only once per application; although, it can be called multiple times safely. Calling this API multiple times will result in a small amount of extra memory usage. When called, the application passes in an MI_Application pointer to be initialized. This pointer must be closed by calling MI_Application_Close. Not doing so will cause memory leaks and potential crashes during shutdown.
MI.h defines MI_Application_Initialize as MI_Application_InitializeV1 with this line:
#define MI_Application_Initialize MI_Application_InitializeV1
|Minimum supported client||Windows 8|
|Minimum supported server||Windows Server 2012|
|Redistributable||Windows Management Framework 3.0 on Windows Server 2008 R2 with SP1, Windows 7 with SP1, and Windows Server 2008 with SP2|