__ObjectProviderRegistration 类

__ObjectProviderRegistration 抽象系统类充当用于在 WMI 中注册类和实例提供程序的类的父类。

以下语法从托管对象格式 (MOF) 代码简化而来,包括所有继承属性。 属性按字母顺序排列,而非 MOF 顺序。

语法

[abstract]
class __ObjectProviderRegistration : __ProviderRegistration
{
  sint32         InteractionType = 0;
  __Provider REF provider;
  string         QuerySupportLevels[];
  boolean        SupportsBatching;
  boolean        SupportsDelete = False;
  boolean        SupportsEnumeration = False;
  boolean        SupportsGet = False;
  boolean        SupportsPut = False;
  boolean        SupportsTransactions;
};

成员

__ObjectProviderRegistration 类具有以下类型的成员:

属性

__ObjectProviderRegistration 类具有以下属性。

InteractionType

数据类型:sint32

访问类型:读/写

指示类或实例提供程序是提供自己的数据,还是依赖于 WMI 和通用信息模型 (CIM) 存储库。 拉取提供程序支持对其数据的动态访问,推送提供程序将其数据存储在 CIM 存储库中,并依赖于 WMI 来提供对其的访问权限。 有关详细信息,请参阅确定推送或拉取状态。 默认值为 0(零)。

Pull (0)

提供程序是拉取提供程序。

Push (1)

提供程序是推送提供程序。

PushVerify (2)

提供程序是推送-验证提供程序。 请注意,当前不支持推送-验证提供程序。

提供程序

数据类型:__Provider

访问类型:只读

__Provider 实例的引用,该实例表示对象提供程序的对象路径。 此属性继承自 __ProviderRegistration

QuerySupportLevels

数据类型:字符串数组

访问类型:读/写

“包含提供程序”类型的数组支持查询处理。 类提供程序不支持任何类型的查询。 实例提供程序可以将 QuerySupportLevels 设置为 NULL(如果它们不支持查询处理)。 支持查询的提供程序会实现 IWbemServices::ExecQueryAsync 方法,并将此属性设置为下列一个或多个值(属性类型是“数组”)。

“WQL:UnarySelect”

“WQL:References”

“WQL:Associators”

“WQL:V1ProviderDefined”

SupportsBatching

数据类型:布尔

访问类型:读/写

未使用。

SupportsDelete

数据类型:布尔

访问类型:读/写

如果为 True,提供程序将支持删除数据。

True

提供程序通过实现 IWbemServices::DeleteClassAsync(类提供程序)或 IWbemServices::DeleteInstanceAsync(实例提供程序)来支持删除类或实例。

False

提供程序不支持删除数据,并从 DeleteClassAsyncDeleteInstanceAsync 返回 WBEM_E_PROVIDER_NOT_CAPABLE。

SupportsEnumeration

数据类型:布尔

访问类型:读/写

如果为 True,提供程序将支持枚举数据。

True

提供程序通过实现 IWbemServices::CreateClassEnumAsync(类提供程序)或 IWbemServices::CreateInstanceEnumAsync(实例提供程序)来支持数据枚举。

False

提供程序不支持数据枚举,并从 CreateClassEnumAsyncCreateInstanceEnumAsync 返回 WBEM_E_PROVIDER_NOT_CAPABLE。

SupportsGet

数据类型:布尔

访问类型:读/写

如果为 True,该类或实例提供程序支持数据检索。

True

提供程序通过实现 IWbemServices::GetObjectAsync 来支持数据检索。

False

提供程序不支持数据检索,并从 GetObjectAsync 返回 WBEM_E_PROVIDER_NOT_CAPABLE。

SupportsPut

数据类型:布尔

访问类型:读/写

如果为 True,该类或实例提供程序支持修改数据。

True

提供程序通过实现 IWbemServices::PutClassAsync(类提供程序)或 IWbemServices::PutInstanceAsync(实例提供程序)来支持修改类或实例。

False

提供程序不支持修改数据,并从 PutClassAsyncPutInstanceAsync 返回 WBEM_E_PROVIDER_NOT_CAPABLE。

SupportsTransactions

数据类型:布尔

访问类型:读/写

未使用。

备注

__ObjectProviderRegistration 类派生自 __ProviderRegistration

类提供程序必须将 SupportsEnumeration 属性设置为 True,因为提供程序必须能够向 WMI 提供其类的列表。 如果类提供程序尝试将此属性设置为 False,WMI 会将注册标记为“非法”。 实例提供程序不需要支持枚举,并可选择将 SupportsEnumeration 设置为 True 或 False。

将 QuerySupportLevels 设置为“WQL:UnarySelect”的提供程序可接受由 WMI 版本 1.0 中支持的基本 SELECT 语句组成的查询。 类和实例提供程序都有望能够处理 __CLASS 系统属性。 类提供程序还有望处理 __SUPERCLASS 系统属性和 ISA 运算符。 ISA 运算符用于将结果集扩展到派生类。 如果为提供程序提供了一个它无法解释的查询,它将通过返回 WBEM_E_TOO_COMPLEX 错误值请求 WMI 处理该查询。 有关有效 WQL 语法的说明,请参阅使用 WQL 进行查询

将 QuerySupportLevels 设置为 WQL:V1ProviderDefined 的提供程序可尝试支持更大一组 SQL 语法(例如 ORDER BY 子句),但风险自负。 WMI 不会解释附加子句,也不会尝试确保结果集正确。

只有管理员可通过创建 __Win32Provider 实例并注册它来注册或删除提供程序。

要求

要求
最低受支持的客户端
Windows Vista
最低受支持的服务器
Windows Server 2008
命名空间
所有 WMI 命名空间

另请参阅

__ProviderRegistration

WMI 系统类

注册提供程序