Export (0) Print
Expand All
Expand Minimize

__Win32Provider class

The __Win32Provider system class registers information about the physical implementation of a provider in WMI. Providers that do not set the HostingModel property are loaded, by default, to run in a Wmiprvse.exe process as NetworkServiceHostOrSelfHost.

Windows Server 2003:  Providers that do not set the HostingModel property are loaded, by default, to run in a Wmiprvse.exe process as LocalSystemHostOrSelfHost.

The following syntax is simplified from Managed Object Format (MOF) code and includes all inherited properties. Properties are listed in alphabetic order, not MOF order.

Syntax

class __Win32Provider : __Provider
{
  string   ClientLoadableCLSID;
  string   CLSID;
  sint32   Concurrency;
  string   DefaultMachineName;
  boolean  Enabled;
  string   HostingModel;
  sint32   ImpersonationLevel = 0;
  sint32   InitializationReentrancy = 0;
  datetime InitializationTimeoutInterval;
  boolean  InitializeAsAdminFirst;
  string   Name;
  datetime OperationTimeoutInterval;
  boolean  PerLocaleInitialization = FALSE;
  boolean  PerUserInitialization = FALSE;
  boolean  Pure = TRUE;
  string   SecurityDescriptor;
  boolean  SupportsExplicitShutdown;
  boolean  SupportsExtendedStatus;
  boolean  SupportsQuotas;
  boolean  SupportsSendStatus;
  boolean  SupportsShutdown;
  boolean  SupportsThrottling;
  datetime UnloadTimeout;
  uint32   Version;
};

Members

The __Win32Provider class has these types of members:

Properties

The __Win32Provider class has these properties.

ClientLoadableCLSID
Data type: string
Access type: Read/write

Class identifier that WMI uses to determine whether or not to load a high performance provider into the client process or the WMI process. If both the provider and client are located on the same computer, WMI loads the provider in-process to the client by using ClientLoadableCLSID as the class identifier. When the provider and client are located on different computers, WMI loads the provider in-process to WMI. WMI also uses ClientLoadableCLSID to support refresh operations.

For more information, see Registering a High-Performance Provider.

CLSID
Data type: string
Access type: Read/write

GUID that represents the class identifier (CLSID) of the provider COM object. This COM object must contain an implementation of the IWbemProviderInit interface.

Concurrency
Data type: sint32
Access type: Read/write

Not used.

DefaultMachineName
Data type: string
Access type: Read/write

Identifies the computer on which to start the provider. If the provider runs on the local computer it is NULL.

Enabled
Data type: boolean
Access type: Read/write

If TRUE, this instance is enabled and can be used to complete client requests.

HostingModel
Data type: string
Access type: Read/write

This property is composed of values from the MSFT_Providers HostingGroup and HostingSpecification properties. The value of this property specifies how WMI loads the provider and the security account it runs under. For more information about setting the HostingModel property, see Provider Hosting and Security and Registering a Provider.

Windows Server 2003:  Providers that do not set the HostingModel property are loaded, by default, to run as LocalSystem. This hosting model is not recommended because LocalSystem has high privileges.

ImpersonationLevel
Data type: sint32
Access type: Read/write

Reserved. The default value is zero (0).

InitializationReentrancy
Data type: sint32
Access type: Read/write

Set of flags that provide information about serialization. The default value is zero (0).

ValueMeaning
0

All initialization of this provider must be serialized.

1

All initializations of this provider in the same namespace must be serialized.

2

No initialization serialization is necessary.

 

InitializationTimeoutInterval
Data type: datetime
Access type: Read/write

Not used.

InitializeAsAdminFirst
Data type: boolean
Access type: Read/write

Windows Server 2003:  This property is disabled.

Name
Data type: string
Access type: Read/write
Qualifiers: Key

The provider name.

OperationTimeoutInterval
Data type: datetime
Access type: Read/write

Not used.

PerLocaleInitialization
Data type: boolean
Access type: Read/write

If TRUE, the provider is initialized for each locale when a user connects to the same namespace more than one time using different locales. The default value is FALSE.

PerUserInitialization
Data type: boolean
Access type: Read/write

If TRUE, the provider is initialized one time for each NT LAN Manager (NTLM) user that makes requests to the provider. If FALSE (default), the provider is initialized one time for all users.

Pure
Data type: boolean
Access type: Read/write

If TRUE, the provider agrees to prepare to unload by calling IUnknown::Release on all outstanding interface points when WMI calls the Release method of its primary interface. Providers that must remain clients of WMI after they do not function as providers should set Pure to FALSE. The default setting is TRUE. For more information, see the Remarks section of this topic.

SecurityDescriptor
Data type: string
Access type: Read/write

Security descriptor (SD) in the Security Descriptor Definition Language (SDDL) that determines the set of users that can successfully call IWbemDecoupledRegistrar:Register for the decoupled provider. For more information, see the Security Descriptor Definition Language topic in the Security section of the Windows SDK. This security descriptor is used only for decoupled providers, and does not affect other providers. For more information, see Incorporating a Provider in an Application.

WMI performs access checks for decoupled providers that use the IWbemProviderInit and IWbemObjectSink interfaces. If the security descriptor is NULL, then only applications or services that run under the LocalSystem, NetworkService, LocalService accounts can run a decoupled provider.

The following string shows a decoupled provider to be run only by built-in Administrators."O:BAG:BAD:(A;;0x1;;;BA)"

For more information about setting the SecurityDescriptor property, see Maintaining WMI Security.

SupportsExplicitShutdown
Data type: boolean
Access type: Read/write

Not used.

SupportsExtendedStatus
Data type: boolean
Access type: Read/write

Not used.

SupportsQuotas
Data type: boolean
Access type: Read/write

Not used.

SupportsSendStatus
Data type: boolean
Access type: Read/write

Not used.

SupportsShutdown
Data type: boolean
Access type: Read/write

Not used.

SupportsThrottling
Data type: boolean
Access type: Read/write

Not used.

UnloadTimeout
Data type: datetime
Access type: Read/write

Date and Time Format that specifies how long WMI allows the provider to remain idle before it is unloaded. Typically, providers request that WMI wait no longer than five minutes.

For the current version of WMI, the value of this property is ignored. WMI unloads the provider based on the time-out value in an internal class in the \root namespace. It is recommended that providers set UnloadTimeout. For more information, see Unloading a Provider.

Version
Data type: uint32
Access type: Read/write

Version of the provider. The supported versions are 1 and 2. Version 2 strengthens validity checks for all associated property registrations, specifically the ImpersonationLevel property.

Remarks

The __Win32Provider class is derived from __Provider.

Most providers can accept the default values for the InitializationReentrancy property. However, if a provider can support simultaneous initialization for separate users, this property can be set to 1 (one). If serialized initialization is necessary, InitializationReentrancy remains 0 (zero). In both instances, PerUserInitialization is set to TRUE.

A pure provider or a provider that sets the Pure property to TRUE, exists only to service requests from applications and WMI. Most providers are pure providers. A nonpure provider is the exception. Nonpure providers transition to the role of client after they complete servicing requests.

An example of a nonpure provider is a push provider that starts to issue queries, and makes requests of WMI after it completes initialization. A push provider does not have responsibilities except to update the CIM repository with data at initialization time. After updating the repository, a push provider can wait to be unloaded, or transition to the role of client. The push provider that waits to be unloaded is a pure provider. The push provider that participates in client activities is nonpure.

WMI must be able to distinguish pure providers from non-pure providers so that it can determine when it is safe to shut down. WMI must wait for all operations that involve non-pure providers to complete before it can shut down safely.

Windows Server 2003:  Only administrators can register or delete a provider by creating an instance of __Win32Provider and then registering it.

Requirements

Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2003

Namespace

all WMI namespaces

See also

WMI System Classes
Registering a Provider

 

 

Show:
© 2014 Microsoft