provider 类 (provider.h)
[Provider 类是 WMI 提供程序框架的一部分,现在视为处于最终状态,对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]
Provider 类是框架提供程序支持的一个或多个类的基类。 Provider 类封装 IWbemServices 方法的实现,并包含多个帮助程序函数。 框架提供程序会为其支持的每个功能替代 Provider 类的其中一个方法。 例如,支持查询处理的提供程序会替代 Provider::ExecQuery 方法。
为具有框架提供程序的每个 WMI 类创建 Provider 类的实例。
提供程序 具有以下类型的成员:
方法 | 说明 |
---|---|
提交 | 将当前实例返回到 WMI。 |
CreateNewInstance | 分配新的 CInstance 对象并返回指向它的指针。 |
DeleteInstance | 删除实例。 由 WMI 调用。 |
EnumerateInstances | 检索框架提供程序的 类的所有实例。 由 WMI 调用。 |
ExecMethod | 对类或实例调用 方法。 由 WMI 调用。 |
ExecQuery | 处理 WMI 查询语言 (WQL) 查询。 由 WMI 调用。 |
刷新 | 由提供程序框架调用,以删除提供程序使用的所有不必要的内存。 |
GetLocalComputerName | 以 CHString 格式返回对计算机名的常量引用。 |
GetLocalInstancePath | 尝试生成指向指定实例的完整对象路径。 |
GetObject | 检索类的实例。 由 WMI 调用。 |
GetProviderName | 检索提供程序的名称。 |
MakeLocalPath | 从相对路径生成完整的实例路径。 |
PutInstance | 汇报实例。 由 WMI 调用。 |
SetCreationClassName | 将给定实例的 CreationClassName 字符串属性设置为此提供程序的名称。 |
ValidateDeletionFlags | 确定一组标志是否对删除操作有效。 |
ValidateEnumerationFlags | 确定一组标志是否对枚举有效。 |
ValidateFlags | 确定一组标志是否有效。 |
ValidateGetObjFlags | 确定一组标志是否对实例检索操作有效。 |
ValidateMethodFlags | 确定一组标志是否对执行方法操作有效。 |
ValidatePutInstanceFlags | 确定一组标志是否对实例更新操作有效。 |
ValidateQueryFlags | 确定一组标志是否对查询操作有效。 |
继承
Provider 类实现 CThreadBase。
方法
Provider 类具有这些方法。
Provider::~Provider Provider::~Provider 函数是 Provider 类的析构函数。 |
Provider::Commit Commit 方法用于将实例发送到 WMI。 此方法是一个帮助程序函数,不应重写。 |
Provider::CreateNewInstance CreateNewInstance 方法分配新的 CInstance 对象并返回指向它的指针。 |
Provider::D eleteInstance WMI 调用 DeleteInstance 方法以删除实例。 (重载 2/2) |
Provider::D eleteInstance WMI 调用 DeleteInstance 方法以删除实例。 (重载 1/2) |
Provider::EnumerateInstances WMI 调用 EnumerateInstances 方法以检索框架提供程序的 类的所有实例。 |
Provider::ExecMethod WMI 调用 ExecMethod 方法以调用类或实例上的方法。 (重载 1/2) |
Provider::ExecMethod WMI 调用 ExecMethod 方法以调用类或实例上的方法。 (重载 2/2) |
Provider::ExecQuery WMI 调用 ExecQuery 方法来处理 WMI 查询语言 (WQL) 查询。 |
Provider::Flush 提供程序框架调用 Flush 方法以删除提供程序使用的所有不必要的内存。 |
Provider::GetLocalComputerName GetLocalComputerName 方法以 CHString 格式返回对计算机名的常量引用。 |
Provider::GetLocalInstancePath GetLocalInstancePath 方法尝试生成指定实例的完整对象路径。 此方法是一个帮助程序函数,不应重写。 |
Provider::GetNamespace GetNamespace 方法以 CHString 格式返回对命名空间名称的常量引用。 返回的名称是最初提供给提供程序构造函数的第二个参数。 |
Provider::GetObject WMI 调用 GetObject 方法以检索类的实例。 (重载 1/3) |
Provider::GetObject WMI 调用 GetObject 方法以检索类的实例。 (重载 2/3) |
Provider::GetObject WMI 调用 GetObject 方法以检索类的实例。 (重载 3/3) |
Provider::GetProviderName GetProviderName 方法检索提供程序构造函数中使用的类的名称。 |
Provider::MakeLocalPath MakeLocalPath 方法从相对路径生成完整的实例路径。 |
Provider::P rovider Provider 方法创建提供程序的实例。 此方法是 WMI 提供程序框架的一部分。 |
Provider::P utInstance PutInstance 方法更新实例。 (重载 2/2) |
Provider::P utInstance PutInstance 方法更新实例。 (重载 1/2) |
Provider::SetCreationClassName SetCreationClassName 方法将给定实例的 CreationClassName 字符串属性(如果有)设置为此提供程序的名称。 |
Provider::ValidateDeletionFlags ValidateDeletionFlags 方法确定一组标志是否对删除操作有效。 |
Provider::ValidateEnumerationFlags ValidateEnumerationFlags 方法确定一组标志是否对枚举有效。 |
Provider::ValidateFlags ValidateFlags 方法确定一组标志是否有效。 |
Provider::ValidateGetObjFlags ValidateGetObjFlags 方法确定一组标志是否对实例检索操作有效。 |
Provider::ValidateMethodFlags ValidateMethodFlags 方法确定一组标志是否对执行方法操作有效。 |
Provider::ValidatePutInstanceFlags ValidatePutInstanceFlags 方法确定一组标志是否对实例更新操作有效。 |
Provider::ValidateQueryFlags ValidateQueryFlags 方法确定一组标志是否对查询操作有效。 |
注解
此类的析构函数为 Provider::~Provider。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | provider.h (包括 FwCommon.h) |