WMI Win32 Provider
Collapse the table of content
Expand the table of content

WMI Win32 Provider

The WMI Win32 Provider component retrieves and updates data relevant to Win32 systems, such as the current settings of environment variables and the attributes of a logical disk. With this component, management applications can use Windows Management Instrumentation (WMI) to easily access this data. WMI Win32 Provider retrieves its information by making Win32 function calls and querying the system registry.

WMI Win32 Provider defines the classes used to describe hardware or software available on Win32 systems and the relationships between them. The Win32 classes ultimately derive from Common Information Model (CIM) classes, which describe components present in all management environments.

The Win32 classes follow the WMI naming convention. The schema name appears first followed by an underscore and then a descriptive name. For example, an instance of Win32_PointingDevice class represents a device that is used to point to regions on a Win32 system display, and an instance of the Win32_Processor class represents a device that can interpret a sequence of Win32 system machine instructions. Although most of the classes apply to any Win32 system, some classes and their properties are specific to the Microsoft® Windows NT®, Microsoft® Windows® 2000, Windows 95, and Windows 98 operating systems.


There are no services for this component.

Associated Components

The Win32 Provider component is designed to work with the WMI CORE and other WMI Providers. The Win32 Provider also requires the TOOLS component for compilation of MOFs, using the executable Mofcomp.exe.

The following components have related functionality:

  • WMI Core
  • WMI View Provider
  • WMI DS Provider
  • WMI Windows Installer Provider
  • WMI SNMP Provider


Because the Win32 Provider is registered automatically as part of the WMI installation process, applications typically do not need to register it independently. All of the Win32 class definitions are stored in the CIM repository and made available through the WMI API. However, if an application does need to register the Win32 Provider, it does so by compiling the Cimwin32.mof file using the MOF compiler. To compile the Cimwin32.mof file at the command prompt, use the following syntax where <WBEM install dir> represents the location of the WMI installation, for example: C:\WINNT\System32\WBEM.

C:\> <WBEM install dir>\mofcomp <WBEM install dir>\cimwin32.mof

The following definitions can be used to register the Win32 Provider:

instance of __Win32Provider as $WinProv
    Name = "CIMWin32";
    ClsId = "{d63a5850-8f16-11cf-9f47-00aa00bf345c}";
instance of __InstanceProviderRegistration
    Provider = $WinProv;
    SupportsGet = "TRUE";
    SupportsPut = "TRUE";
    SupportsDelete = "TRUE";
    SupportsEnumeration = "TRUE";
    QuerySupportLevels = {"WQL:UnarySelect"};
instance of __MethodProviderRegistration
    Provider = $WinProv;

Providers register with WMI to publish information about the data and operations that they support and their physical implementation. WMI uses this information to load and initialize the provider and to determine the right provider for a particular client request. All types of providers follow the same procedure for registration. Neither WMI nor the provider needs to be running during the registration process. To register with WMI, a provider must execute the following steps.

  1. Register with the Component Object Model (COM) by creating registry entries if necessary. This process applies to all COM servers and is unrelated to WMI.
  2. Create a Managed Object Format (.mof) file that contains the following two instances:
  3. An instance of the __Win32Provider class to describe the physical implementation of the provider.
  4. An instance of a class derived either directly or indirectly from __ProviderRegistration to describe the logical implementation of the provider.
  5. Place the .mof file into a permanent directory, typically the provider's installation directory.
  6. Compile the .mof file using the MOF compiler or the IMofCompiler interface. The MOF compiler parses a file containing MOF statements and adds the classes and class instances defined in the file to the Common Information Model (CIM) repository.

© 2006 Microsoft Corporation. All rights reserved.

© 2016 Microsoft