Creating a WMI Application Using C++
To create an application for WMI using C++: you must initialize COM, access and set WMI protocols, and perform a manual cleanup. However, C++ does have the advantage of flexibility and power. Therefore, while you are better served in using Visual Basic Scripting Edition (VBScript) or Windows PowerShell for simple processes, C++ works better for more sophisticated applications and is required for writing providers.
The following procedure describes how to create a WMI application.
To create a WMI application
-
Because WMI is based on COM technology, you must perform calls to the CoInitializeEx and CoInitializeSecurity functions to access WMI.
-
Create a connection to a WMI namespace.
By definition, WMI runs in a different process than your application. Therefore, you must create a connection between your application and WMI.
-
Set the security levels on the WMI connection.
To use the connection you create to WMI, you must set the impersonation and authentication levels for your application.
-
Implement the purpose of your application.
WMI exposes a variety of COM interfaces use to access and manipulate data across your enterprise. For more information, see Manipulating Class and Instance Information, Receiving a WMI Event, and COM API for WMI.
This is where the bulk of your WMI client application should exist, such as accessing WMI objects or manipulating data.
-
Cleanup and shut down your application.
After you complete your queries to WMI, you should destroy all COM pointers and shut down your application correctly.
For more information and a code example about how to create a WMI application, see Example: Creating a WMI Application.