勇芳软件工作室.汉化:  Windows Management Instrumentation > COM API for WMI > Interfaces > IWbemClassObject >

GetNames Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemClassObject.GetNames方法检索对象中属性的名称。此外,根据用户提供的选择标准,它可以检索所有或一个子集的属性。然后可以使用IWbemClassObject.Get为每个名称访问这些属性。此方法也可以返回系统属性。

 

C++ 语法

 

HRESULT GetNames(

[in]   LPCWSTR wszQualifierName,

[in]   LONG lFlags,

[in]   VARIANT *pQualifierValue,

[out]  SAFEARRAY (BSTR) **pstrNames

);

 

PowerBASIC 语法

 

METHOD GetNames ( _

BYREF wszQualifierName AS WSTRINGZ, _

BYVAL lFlags AS LONG, _

BYREF pQualifierValue AS VARIANT, _

BYREF pstrNames AS DWORD _

) AS LONG

 

参数

 

wszQualifierName

 

一个可以为NULL的参数。如果不为NULL,则必须指向一个有效的LPCWSTR,指定作为过滤器一部分运行的限定符名称。这是以只读方式处理的。有关详细信息,请参阅备注。

 

lFlags

 

有关详细信息,请参阅备注。

 

pQualifierValue

 

一个可以为NULL的参数。如果不为NULL,则必须指向一个有效的VARIANT初始化为过滤器值。此方法将VARIANT处理为只读方式。有关详细信息,请参阅备注。

 

pstrNames

 

不能为NULL的参数,但是对于该参数,该参数必须指向NULL。始终分配新的SAFEARRAY结构,并将指针设置为指向它。返回的数组可以有0个元素,但是当WBEM_S_NO_ERROR返回时总是被分配。出现错误时,不会返回新的SAFEARRAY结构。

 

返回值

 

此方法返回一个HRESULT,表示方法调用的状态。下表列出了HRESULT中包含的值。

 

退货代码

描述

WBEM_E_FAILED

已经有一般的失败。

WBEM_E_INVALID_PARAMETER

一个或多个参数无效,或者指定了标志和参数的不正确组合。

WBEM_E_OUT_OF_MEMORY

没有足够的内存来完成任务。

WBEM_S_NO_ERROR

通话成功。

 

备注

 

返回的名称由标志和参数的组合控制。例如,可以指定所有属性的所有名称,或者只能指定关键属性,等等。主过滤器在lFlags参数中指定;其他参数取决于它。

 

标志值是位字段,可以组合。来自以下每个组的一个标志可以与来自每个其他组的标志组合。组内的标志值是互斥的。

 

组1标志

描述

WBEM_FLAG_ALWAYS

返回所有属性名称。不使用strQualifierNamepQualifierVal参数。

WBEM_FLAG_ONLY_IF_TRUE

仅返回具有由参数strQualifierName指定的名称限定符的属性。如果使用此标志,则必须指定strQualifierName.

WBEM_FLAG_ONLY_IF_FALSE

仅返回没有参数strQualifierName指定的名称的限定符的属性。如果使用此标志,则必须指定strQualifierName.

WBEM_FLAG_ONLY_IF_IDENTICAL

只返回具有由参数QualifierName指定的名称的限定符的属性,并且具有与pQualifierVal指向的VARIANT指定的值相同的值。如果使用此标志,则必须同时指定QualifierNamepQualifierVal.

 

组2标志

描述

WBEM_FLAG_KEYS_ONLY

仅返回定义键的属性或属性的名称。

WBEM_FLAG_REFS_ONLY

只返回属性对象引用的属性名称。

 

组3标志

描述

WBEM_FLAG_LOCAL_ONLY

只返回属于派生类最多类的属性名。从父类或父类中排除属性。

WBEM_FLAG_PROPAGATED_ONLY

只返回属于父类或父类的属性名。

WBEM_FLAG_SYSTEM_ONLY

只返回系统属性。

WBEM_FLAG_NONSYSTEM_ONLY

只返回不属于系统属性的属性名称。

 

如果没有属性与指定的过滤器匹配,则不会返回空列表的错误。

 

有关使用BSTR值的SAFEARRAY结构的更多信息,请参阅检索实例的一部分.

 

要求

 

客户

需要Windows Vista,Windows XP,Windows 2000 Professional,Windows NT Workstation 4.0 SP4及更高版本,Windows Me,Windows 98或Windows 95。

服务器

需要Windows Server 2008,Windows Server 2003,Windows 2000 Server或Windows NT Server 4.0 SP4及更高版本。

在Wbemcli.inc中声明。

DLL

需要Cimwin32.dll。

需要Esscli.dll。

需要Evntrprv.dll。

需要Fastprox.dll。

需要Framedyn.dll。

需要Krnlprov.dll。

需要Ncprov.dll。

需要Wbemcore.dll。

需要Wbemess.dll。

需要Wmipiprt.dll。