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

NextMethod Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemClassObject.NextMethod方法用于检索以调用IWbemClassObject.BeginMethodEnumeration开始的方法枚举序列中的下一个方法。

 

仅当当前对象是CIM类定义时才支持此调用。来自指向CIM实例的IWbemClassObject指针的方法操作不可用。

 

C++ 语法

 

HRESULT NextMethod(

[in]   LONG lFlags,

[out]  BSTR *pName,

[out]  IWbemClassObject **ppInSignature,

[out]  IWbemClassObject **ppOutSignature

);

 

PowerBASIC 语法

 

METHOD NextMethod ( _

BYVAL lFlags AS LONG, _

BYREF pName AS WSTRING, _

BYREF ppInSignature AS IWbemClassObject, _

BYREF ppOutSignature AS IWbemClassObject _

) AS LONG

 

参数

 

lFlags

 

保留。该参数必须为0(零)。

 

pName

 

接收方法名称的新BSTR的地址。在调用该方法之前,此参数不能指向有效的字符串,因为这是一个输出参数,并且该调用完成后该指针不会被释放。

 

ppInSignature

 

一个指针,它接收一个包含该方法的in参数的IWbemClassObject的指针。

 

ppOutSignature

 

一个指针,它接收一个指向包含该方法的out参数的IWbemClassObject的指针。

 

返回值

 

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

 

退货代码

描述

WBEM_E_UNEXPECTED

发生内部错误。

WBEM_S_NO_ERROR

通话成功。

WBEM_S_NO_MORE_DATA

枚举顺序完成时返回。

 

示例代码

 

以下C ++示例演示如何创建并将正确的参数传递给IWbemClassObject.NextMethod方法。

 

IWbemClassObject *pInParams = NULL;

IWbemClassObject *pOutParams = NULL;

HRESULT hr = NULL;

BSTR pName = NULL;

 

// The pClass variable is of type IWbemClassObject*

hr = pClass->BeginMethodEnumeration(0);

 

while (! FAILED(hr) && WBEM_S_NO_MORE_DATA != hr)

{

 hr = pClass->NextMethod(0, &pName, &pInParams, &pOutParams);

 

 // Use the pName, pInParams, pOutParams pointers

 // ...

}

 

// - clean up

SysFreeString(pName);

pInParams->Release();

pOutParams->Release();

 

PowerBASIC

 

DIM pInParams AS IWbemClassObject

DIM pOutParams AS IWbemClassObject

DIM hr AS LONG

DIM pName AS WSTRING

 

' // The pClass variable is of type IWbemClassObject

hr = pClass.BeginMethodEnumeration(0)

 

WHILE ISFALSE FAILED(hr) AND %WBEM_S_NO_MORE_DATA <> hr

 hr = pClass.NextMethod(0, pName, pInParams, pOutParams)

 

 ' // Use the pName, pInParams, pOutParams pointers

 ' // ...

WEND

 

' // - clean up

pInParams = NOTHING

pOutParams = NOTHING

 

备注

 

调用者使用IWbemClassObject.BeginMethodEnumeration开始枚举序列,然后调用IWbemClassObject.NextMethod直到返回WBEM_S_NO_MORE_DATA。可选地,呼叫者用IWbemClassObject.EndMethodEnumeration完成序列。呼叫者可以在任何时间通过致电IWbemClassObject.EndMethodEnumeration提前终止枚举。

 

注意当不再需要这些对象时,主叫方必须在ppInSignatureppOutSignature指针上调用IWbemClassObject.Release.

 

要求

 

客户

需要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。