The WMI SNMP Provider component allows client applications to access static and dynamic Simple Network Management (SNMP) information through Windows Management Instrumentation (WMI). The SNMP providers return dynamic information. You can specify the set of classes that the instance provider will operate against in one of the following two ways:
Additionally, you can also specify whether to correlate the set of classes returned from the SMIR name space. Correlated classes define the set of classes that a given SNMP agent is known to support at the time the enumeration occurs. Noncorrelated enumeration returns all classes present within the SMIR name space, regardless of whether the agent device supports them.
The SNMP providers include:
Note The SNMP provider requires Windows NT 4.0, Windows 2000, or Windows XP, and beyond. This provider does not run on Windows 95, Windows 98, or Windows ME.
Registration provides WMI with information about the capabilities of a provider and its location. Because the WMI SNMP provider is not automatically registered with WMI when WMI is installed, client applications must complete the registration process if they want to use the WMI SNMP provider.
The WMI SNMP provider must create an instance of the __Win32Provider system class. Depending on the type of provider, one of the following instances must also be created:
Provider type | Instance to be created |
---|---|
Class provider | __ClassProviderRegistration |
Instance provider | __InstanceProviderRegistration |
Event provider | __EventProviderRegistration |
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.
The WMI SNMP Provider component services requests to instantiate instances of classes that represent MIB objects or SNMP events. MIB objects are mapped to SNMP WMI classes using the OBJECT-TYPE macro; events are mapped to classes using the TRAP-TYPE and NOTIFICATION-TYPE macros.
It is possible that the WMI SNMP Provider will not obtain all of the MIB objects that refer to a particular property of an instance. When this occurs with an instance of a MIB object class, the WMI SNMP Provider marks the property as NULL and attaches the Boolean qualifier Not_Available. When a MIB object is unavailable for an event class, the event provider sets the corresponding property to NULL without attaching the Not_Available qualifier.
When an error occurs due to type mismatching between property definitions and MIB definitions, the instance provider marks the property with another Boolean qualifier, Type_Mismatch. The property itself is assigned a value representing the SNMP protocol encoding type.
For example, consider the property ifType that disallows the value 0. If a type mismatching occurs for this property, the instance provider sets:
The WMI SNMP Provider also marks the property with Type_Mismatch if the object identifier in a variable binding does not match the object identifier of the event class property.
For each instance returned by the provider, the instance is modified so that all qualifiers present within the containing namespace are inherited by that instance.
WMI SNMP Provider creates embedded objects using instance information in the variable binding's object identifier to create key properties for the embedded object. If the object identifier of the variable binding has inconsistent instance information such that the key properties cannot be determined, the keys of the embedded object are set to NULL and marked with the Type_Mismatch qualifier.
WMI SNP Provider detects a conflict between the data in a variable binding and the instance information in the variable binding's object identifier when the following occurs:
In this case, the property is given the value from the variable binding data and marked with the qualifier Value_Mismatch.
The WMI SNMP Provider component is designed to work with the WMI Core component and other WMI provider components. WMI SNMP Provider also requires the WMI Tools component for compiling MOF files by using the Mofcomp.exe tool.
The following components have related functionality:
For more information on WMI, see the Platform Software Development Kit (SDK) at this Microsoft Web site.
]]>