描述
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提前终止枚举。
注意当不再需要这些对象时,主叫方必须在ppInSignature和ppOutSignature指针上调用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。 |