__Win32Provider 类
__Win32Provider 系统类注册有关 WMI 中提供程序的物理实现的信息。 默认情况下,会加载不设置 HostingModel 属性的提供程序,以作为 NetworkServiceHostOrSelfHost 在 Wmiprvse.exe 进程中运行。
以下语法从托管对象格式 (MOF) 代码简化而来,包括所有继承属性。 属性按字母顺序排列,而非 MOF 顺序。
语法
class __Win32Provider : __Provider
{
string ClientLoadableCLSID;
string CLSID;
sint32 Concurrency;
string DefaultMachineName;
boolean Enabled;
string HostingModel;
sint32 ImpersonationLevel = 0;
sint32 InitializationReentrancy;
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;
};
成员
__Win32Provider 类具有以下类型的成员:
属性
__Win32Provider 类具有以下属性。
-
ClientLoadableCLSID
-
-
数据类型:字符串
-
访问类型:读/写
类标识符,WMI 使用它们来确定是要将高性能提供程序加载到客户端进程还是 WMI 进程中。 如果提供程序和客户端位于同一台计算机上,则 WMI 使用 ClientLoadableCLSID 作为类标识符将进程内提供程序加载到客户端。 当提供程序和客户端位于不同的计算机上时,WMI 会将进程内提供程序加载到 WMI。 WMI 还使用 ClientLoadableCLSID 来支持刷新操作。
有关详细信息,请参阅注册高性能提供程序。
-
-
CLSID
-
-
数据类型:字符串
-
访问类型:读/写
表示提供程序 COM 对象的类标识符 (CLSID) 的 GUID。 此 COM 对象必须包含 IWbemProviderInit 接口的实现。
-
-
并发
-
-
数据类型:sint32
-
访问类型:读/写
未使用。
-
-
DefaultMachineName
-
-
数据类型:字符串
-
访问类型:读/写
标识要在其上启动提供程序的计算机。 如果提供程序在本地计算机上运行,则此属性为 NULL。
-
-
已启用
-
-
数据类型:布尔值
-
访问类型:读/写
如果为 TRUE,则表示此实例已启用并可用于完成客户端请求。
-
-
HostingModel
-
-
数据类型:字符串
-
访问类型:读/写
此属性由 MSFT_Providers HostingGroup 和 HostingSpecification 属性的值组成。 此属性的值指定 WMI 如何加载提供程序以及用于运行提供程序的安全帐户。 有关设置 HostingModel 属性的详细信息,请参阅提供程序托管和安全性和注册提供程序。
-
-
ImpersonationLevel
-
-
数据类型:sint32
-
访问类型:读/写
保留。 默认值为零 (0)。
-
-
InitializationReentrancy
-
-
数据类型:sint32
-
访问类型:读/写
提供有关序列化的信息的标志集。 默认值为零 (0)。
-
-
0
-
必须序列化此提供程序的所有初始化。
-
1
-
必须序列化此提供程序在同一命名空间中的所有初始化。
-
2
-
无需进行初始化序列化。
InitializationTimeoutInterval
-
数据类型:日期/时间
-
访问类型:读/写
未使用。
InitializeAsAdminFirst
-
数据类型:布尔值
-
访问类型:读/写
TBD
名称
-
数据类型:字符串
-
访问类型:读/写
-
限定符:Key
提供程序名称。
OperationTimeoutInterval
-
数据类型:日期/时间
-
访问类型:读/写
未使用。
PerLocaleInitialization
-
数据类型:布尔值
-
访问类型:读/写
如果为 TRUE,则当用户使用不同的区域设置多次连接到同一命名空间时,将为每个区域设置初始化提供程序。 默认值为 FALSE。
PerUserInitialization
-
数据类型:布尔值
-
访问类型:读/写
如果为 TRUE,则为每个向提供程序发出请求的 NT LAN Manager (NTLM) 用户初始化提供程序一次。 如果为 FALSE(默认值),则为所有用户初始化提供程序一次。
纯
-
数据类型:布尔值
-
访问类型:读/写
如果为 TRUE,则当 WMI 调用提供程序主接口的 Release 方法时,提供程序将同意通过在所有未完成的接口点上调用 IUnknown::Release 来准备卸载。 在不充当提供程序后仍必须保持为 WMI 客户端的提供程序应将 Pure 设置为 FALSE。 默认设置为 TRUE。 有关详细信息,请参阅本主题的“备注”部分。
SecurityDescriptor
-
数据类型:字符串
-
访问类型:读/写
安全描述符定义语言 (SDDL) 中的安全描述符 (SD),用于确定哪一组用户可以针对分离式提供程序成功调用 IWbemDecoupledRegistrar:Register。 有关详细信息,请参阅 Windows SDK“安全性”部分中的安全描述符定义语言主题。 此安全描述符仅用于分离式提供程序,而不影响其他提供程序。 有关详细信息,请参阅在应用程序中合并提供程序。
WMI 对使用 IWbemProviderInit 和 IWbemObjectSink 接口的分离式提供程序执行访问检查。 如果安全描述符为 NULL,则只有以 LocalSystem、NetworkService、LocalService 帐户运行的应用程序或服务才能运行分离式提供程序。
以下字符串显示了一个只能由内置管理员运行的分离式提供程序。"O:BAG:BAD:(A;;0x1;;;BA)"
有关设置 SecurityDescriptor 属性的详细信息,请参阅维护 WMI 安全性。
SupportsExplicitShutdown
-
数据类型:布尔值
-
访问类型:读/写
未使用。
SupportsExtendedStatus
-
数据类型:布尔值
-
访问类型:读/写
未使用。
SupportsQuotas
-
数据类型:布尔值
-
访问类型:读/写
未使用。
SupportsSendStatus
-
数据类型:布尔值
-
访问类型:读/写
未使用。
SupportsShutdown
-
数据类型:布尔值
-
访问类型:读/写
未使用。
SupportsThrottling
-
数据类型:布尔值
-
访问类型:读/写
未使用。
UnloadTimeout
-
数据类型:日期/时间
-
访问类型:读/写
日期和时间格式,指定 WMI 允许提供程序在被卸载之前保持空闲状态多长时间。 通常,提供程序会请求不超过五分钟的 WMI 等待时间。
对于当前版本的 WMI,将忽略此属性的值。 WMI 根据 \root 命名空间的内部类中的超时值卸载提供程序。 建议提供程序设置 UnloadTimeout。 有关详细信息,请参阅卸载提供程序。
Version
-
数据类型:uint32
-
访问类型:读/写
提供程序的版本。 支持的版本为 1 和 2。 版本 2 增强了对所有关联属性注册(具体而言是 ImpersonationLevel 属性)的有效性检查。
备注
__Win32Provider 类派生自 __Provider。
大多数提供程序可以接受 InitializationReentrancy 属性的默认值。 但是,如果提供程序可以支持不同用户的同时初始化,则可以将此属性设置为 1(一)。 如果需要序列化初始化,InitializationReentrancy 将保持为 0(零)。 在这两种情况下,PerUserInitialization 都设置为 TRUE。
纯提供程序或者将 Pure 属性设置为 TRUE 的提供程序仅用于为来自应用程序和 WMI 的请求提供服务。 大多数提供程序都是纯提供程序。 非纯提供程序属于例外情况。 非纯提供程序在完成服务请求后将转换为客户端的角色。
非纯提供程序的一个示例是先发出查询,然后在完成初始化后发出 WMI 请求的推送提供程序。 推送提供程序只需在初始化时使用数据更新 CIM 存储库,此外没有其他责任。 更新存储库后,推送提供程序可以等待卸载,或转换为客户端的角色。 等待卸载的推送提供程序是纯提供程序。 参与客户端活动的推送提供程序是非纯提供程序。
WMI 必须能够区分纯提供程序和非纯提供程序,以便确定何时可以安全关闭。 WMI 必须等待所有涉及非纯提供程序的操作完成,然后才能安全关闭。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista |
最低受支持的服务器 |
Windows Server 2008 |
命名空间 |
所有 WMI 命名空间 |