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

GetMethod Method

Previous pageReturn to chapter overviewNext page

描述

 

IWbemClassObject.GetMethod方法返回有关请求方法的信息。仅当当前对象是CIM类定义时才支持此调用。来自IWbemClassObject指向CIM实例的指针的方法信息不可用。

 

C++ 语法

 

HRESULT GetMethod(

[in]   LPCWSTR wszName,

[in]   LONG lFlags,

[out]  IWbemClassObject **ppInSignature,

[out]  IWbemClassObject **ppOutSignature

);

 

PowerBASIC 语法

 

METHOD GetMethod ( _

BYREF wszName AS WSTRINGZ, _

BYVAL lFlags AS LONG, _

BYREF ppInSignature AS IWbemClassObject, _

BYREF ppOutSignature AS IWbemClassObject _

) AS LONG

 

参数

 

wszName

 

方法名称。这不能是NULL,并且必须指向一个有效的LPCWSTR。

 

lFlags

 

保留。该参数必须为0。

 

ppInSignature

 

一个接收IWbemClassObject指针的指针,该指针描述了该方法的参数。如果设置为NULL,则忽略此参数。请注意,如果此方法中没有参数,则Windows Management可以将IWbemClassObject指针设置为NULL。有关详细信息,请参阅备注。

 

ppOutSignature

 

一个接收IWbemClassObject指针的指针,该指针描述了该方法的外部参数。如果设置为NULL,此参数将被忽略。

 

返回值

 

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

 

退货代码

描述

WBEM_S_NO_ERROR

返回所请求的输入和输出参数对象。

WBEM_E_NOT_FOUND

该方法不存在。

WBEM_E_OUT_OF_MEMORY

没有足够的内存来完成通话。

 

备注

 

对于一种方法,in和out参数被描述为IWbemClassObject中的属性,系统类__Parameters的一个实例。

 

例如,考虑以下方法:

 

Class MyClass{

  [key] string KeyVal;

  sint32 PropVal;

  sint32 ExampleMethod([in] sint32 Parm1, [in] uint32 Parm2,

    [out] string Parm3);

};

 

在这个例子中,类有一个方法。当用户调用IWbemClassObject.GetMethod时,ppInSignature参数接收一个IWbemClassObject对象,其中包含两个属性:PARM1Parm2.ppOutSignature参数包含两个属性Parm3ReturnValue.

 

在填写ppInSignature对象的属性值后,调用者可以使用该对象通过调用IWbemServices.ExecMethodIWbemServices.ExecMethodAsync来执行该方法。

 

注意 当不再需要这些对象时,主叫方必须在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。