[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) |