[CInstance 类是 WMI 提供程序框架的一部分,现在被视为已处于最终状态。对于影响这些库的非安全性相关问题,将不会提供进一步的开发、增强或更新。 所有新开发均应使用 MI API。]
CInstance 类用于检索和更新为 WMI 提供程序框架支持的实例定义的属性值。 CInstance 类还提供对提供程序框架实现 CInstance 接口的访问。
提供程序编写器不需要从此类派生。 使用 Provider::CreateNewInstance 创建此类的实例。
CInstance 具有以下类型的成员:
| 方法 | 说明 | 
|---|---|
| 提交 | 将当前实例返回到 WMI。 | 
| Getbool | 检索布尔属性。 | 
| GetByte | 检索 与 BYTE 兼容的属性。 | 
| GetCHString | 检索字符串属性。 | 
| GetClassObjectInterface | 返回 IWbemClassObject 接口指针。 | 
| GetDateTime | 返回 datetime 属性。 | 
| GetDOUBLE | 检索 DOUBLE 属性。 | 
| GetDWORD | 检索 DWORD 属性。 | 
| GetEmbeddedObject | 检索嵌入的 CInstance 属性。 | 
| GetMethodContext | 返回指向 MethodContext 对象的指针。 | 
| GetStatus | 确定属性是否存在,如果存在,则确定其类型。 | 
| GetStringArray | 检索表示字符串数组的属性。 | 
| GetTimeSpan | 检索表示 WMI 时间跨度的属性。 | 
| GetVariant | 检索 VARIANT 属性。 | 
| GetWBEMINT16 | 检索 16 位整数属性。 | 
| GetWBEMINT64 | 已重载。 检索 64 位整数属性。 | 
| GetWCHAR | 检索 WCHAR 属性。 | 
| GetWORD | 检索 WORD 属性。 | 
| IsNull | 确定特定属性的值是否为 NULL。 | 
| Setbool | 设置 布尔 属性。 | 
| SetByte | 设置 BYTE 属性。 | 
| SetCharSplat | 已重载。 设置一个字符串属性。 | 
| SetCHString | 已重载。 设置一个字符串属性。 | 
| SetDateTime | 设置 datetime 属性。 | 
| SetDOUBLE | 设置 DOUBLE 属性。 | 
| SetDWORD | 设置 DWORD 属性。 | 
| SetEmbeddedObject | 设置嵌入的 CInstance 属性。 | 
| SetNull | 将属性设置为 NULL。 | 
| SetStringArray | 设置表示字符串数组的属性。 | 
| SetTimeSpan | 设置表示时间跨度的属性。 | 
| SetVariant | 设置 VARIANT 属性。 | 
| SetWBEMINT16 | 设置 16 位整数属性。 | 
| SetWBEMINT64 | 已重载。 设置 64 位整数属性。 | 
| SetWCHARSplat | 设置 WCHAR 字符串属性。 | 
| SetWORD | 设置 WORD 属性。 | 
方法
CInstance 类具有这些方法。
| 
              CInstance::Commit  Commit 方法将当前实例返回到 WMI。  | 
| 
              CInstance::Getbool  Getbool 方法检索布尔属性。  | 
| 
              CInstance::GetByte  GetByte 方法检索与 BYTE 兼容的属性。  | 
| 
              CInstance::GetCHString  GetCHString 方法检索字符串属性。  | 
| 
              CInstance::GetClassObjectInterface  GetClassObjectInterface 方法返回 IWbemClassObject 接口指针。  | 
| 
              CInstance::GetDateTime  GetDateTime 方法返回 datetime 属性。  | 
| 
              CInstance::GetDOUBLE  GetDOUBLE 方法检索 DOUBLE 属性。  | 
| 
              CInstance::GetDWORD  GetDWORD 方法检索 DWORD 属性。  | 
| 
              CInstance::GetEmbeddedObject  GetEmbeddedObject 方法检索指向嵌入的 CInstance 对象的指针。 指针可用于获取和设置该嵌入对象的属性。  | 
| 
              CInstance::GetMethodContext  GetMethodContext 方法返回指向 MethodContext 对象的指针。  | 
| 
              CInstance::GetStatus  GetStatus 方法确定属性是否存在,如果存在,则确定其类型。  | 
| 
              CInstance::GetStringArray  GetStringArray 方法检索表示字符串数组的属性。  | 
| 
              CInstance::GetTimeSpan  GetTimeSpan 方法检索表示 WMI 时间跨度的属性。  | 
| 
              CInstance::GetVariant  GetVariant 方法检索 VARIANT 属性。  | 
| 
              CInstance::GetWBEMINT16  GetWBEMINT16 方法检索 16 位整数属性。  | 
| 
              CInstance::GetWBEMINT64  GetWBEMINT64 方法检索 64 位整数属性。 (重载 1/3)  | 
| 
              CInstance::GetWBEMINT64  GetWBEMINT64 方法检索 64 位整数属性。 (重载 3/3)  | 
| 
              CInstance::GetWBEMINT64  GetWBEMINT64 方法检索 64 位整数属性。 (重载 2/3)  | 
| 
              CInstance::GetWCHAR  GetWCHAR 方法检索 WCHAR 字符串属性。  | 
| 
              CInstance::GetWORD  GetWORD 方法检索 WORD 属性。  | 
| 
              CInstance::IsNull  IsNull 方法确定特定属性的值是否为 NULL。  | 
| 
              CInstance::Setbool  Setbool 方法设置布尔属性。  | 
| 
              CInstance::SetByte  SetByte 方法设置 BYTE 属性。  | 
| 
              CInstance::SetCharSplat  SetCharSplat (LPCWSTR,DWORD) 方法设置字符串。  | 
| 
              CInstance::SetCharSplat  SetCharSplat (LPCWSTR,LPCSTR) 方法设置字符串属性。  | 
| 
              CInstance::SetCharSplat  SetCharSplat (LPCWSTR,LPCWSTR) 方法设置字符串属性。  | 
| 
              CInstance::SetCHString  SetCHString (LPCWSTR,const CHString&) 方法设置字符串属性。 (重载 2/2)  | 
| 
              CInstance::SetCHString  SetCHString (LPCWSTR,LPCSTR) 方法设置字符串属性。  | 
| 
              CInstance::SetCHString  SetCHString (LPCWSTR,const CHString&) 方法设置字符串属性。 (重载 1/2)  | 
| 
              CInstance::SetDateTime  SetDateTime 方法设置 datetime 属性。  | 
| 
              CInstance::SetDOUBLE  CInstance::SetDOUBLE 方法  | 
| 
              CInstance::SetDWORD  SetDWORD 方法设置 DWORD 属性。  | 
| 
              CInstance::SetEmbeddedObject  SetEmbeddedObject 方法设置嵌入的 CInstance 属性。  | 
| 
              CInstance::SetNull  SetNull 方法将属性设置为 NULL。  | 
| 
              CInstance::SetStringArray  SetStringArray 方法设置表示字符串数组的属性。  | 
| 
              CInstance::SetTimeSpan  SetTimeSpan 方法设置表示时间跨度的属性。  | 
| 
              CInstance::SetVariant  SetVariant 方法设置 VARIANT 属性。  | 
| 
              CInstance::SetWBEMINT16  SetWBEMINT16 方法设置 16 位整数属性。  | 
| 
              CInstance::SetWBEMINT64  SetWBEMINT64 (LPCWSTR, const LONGLONG&) 方法设置 64 位整数值。 (重载 3/3)  | 
| 
              CInstance::SetWBEMINT64  SetWBEMINT64 (LPCWSTR, const LONGLONG&) 方法设置 64 位整数值。 (重载 1/3)  | 
| 
              CInstance::SetWBEMINT64  SetWBEMINT64 (LPCWSTR, const LONGLONG&) 方法设置 64 位整数值。 (重载 2/3)  | 
| 
              CInstance::SetWCHARSplat  SetWCHARSplat 方法设置字符串属性。  | 
| 
              CInstance::SetWORD  SetWORD 方法设置 WORD 属性。  | 
注解
此类的析构函数为 CInstance::~CInstance。
CInstance 类的方法用于检索和设置属性值。 属性数据类型是使用 CIM 数据类型定义的,可在 .mof 文件中查看。 使用 CInstance 方法查询或设置属性值时,必须使用与属性的 CIM 数据类型兼容的方法。 下表列出了 CIM 数据类型以及用于访问该数据类型的属性的允许 CInstance get 或 set 方法。
| CIM 数据类型 | CInstance Get/Set 方法类型 | 
|---|---|
| string | 
 VARIANT WCHAR CharSplat  | 
| sint8 | VARIANT | 
| uint8 | BYTE | 
| sint16 | 
WBEMINT16 VARIANT  | 
| uint16 | 
WORD DWORD VARIANT  | 
| sint32 | 
WORD DWORD VARIANT  | 
| uint32 | 
WORD DWORD VARIANT  | 
| sint64 | 
 VARIANT WBEMINT64 WCHAR  | 
| uint64 | 
 VARIANT WBEMINT64 WCHAR  | 
| real32 | VARIANT | 
| real64 | 
 DOUBLE VARIANT  | 
| char16 | VARIANT | 
| DateTime | 
 DateTime VARIANT WCHAR  | 
要求
| 最低受支持的客户端 | Windows Vista | 
| 最低受支持的服务器 | Windows Server 2008 | 
| 目标平台 | Windows | 
| 标头 | instance.h (包括 FwCommon.h) |