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

GetProperty Method

Previous pageReturn to chapter overviewNext page

描述

 

Windows Management调用IWbemPropertyProvider.GetProperty方法来检索单个属性值。

 

C++ 语法

 

HRESULT GetProperty(

[in]   long lFlags,

[in]   const BSTR strLocale,

[in]   const BSTR strClassMapping,

[in]   const BSTR strInstMapping,

[in]   const BSTR strPropMapping,

[out]  VARIANT *pvValue

);

 

PowerBASIC 语法

 

METHOD GetProperty ( _

BYVAL lFlags AS LONG, _

BYVAL strLocale AS DWORD, _

BYVAL strClassMapping AS DWORD, _

BYVAL strInstMapping AS DWORD, _

BYVAL strPropMapping AS DWORD, _

BYREF pvValue AS VARIANT _

);

 

参数

 

lFlags

 

保留。该参数必须为0。

 

strLocale

 

在返回的属性值可以被本地化的情况下,指示所需语言环境的字符串。如果属性无法本地化,则实现可以忽略此值。

 

strClassMapping

 

该类的ClassContext限定词的字符串值的字面拷贝。这指向一个有效的BSTR,它被视为只读,如果限定符不存在,则返回NULL。

 

strInstMapping

 

实例的InstanceContext限定词的字符串值的字面拷贝。这必须指向一个有效的BSTR,它被视为只读,如果限定符不存在,则必须为NULL。

 

strPropMapping

 

属性的PropertyContext限定词的值的字面拷贝。这必须指向一个有效的BSTR,它被视为只读,如果限定符不存在,则必须为NULL。

 

pvValue

 

指向未初始化的VARIANT,它接收该属性的值。该实现必须调用VariantInit并返回值。如果发生错误,预期实现将忽略该指针。

 

返回值

 

如果调用成功,则此方法必须返回WBEM_S_NO_ERROR。如果调用失败,则该方法必须返回WBEM_S_FALSE。

 

示例代码

 

以下代码示例介绍如何实现GetProperty.

 

STDMETHODIMP CMyPropProvider::GetProperty(

          long lFlags,

          BSTR Locale,

          BSTR ClassMapping,

          BSTR InstMapping,

          BSTR PropMapping,

          VARIANT *pvValue)

{

  SCODE sc = WBEM_S_NO_ERROR;

 

  if(!_wcsicmp(PropMapping, L"GiveMeANumber!"))

  {

      pvValue->vt = VT_I4;

      pvValue->lVal = 27;

  }

  else

  {

      pvValue->vt = VT_BSTR;

      pvValue->bstrVal = SysAllocString(L"Hello World");

      if(pvValue->bstrVal == NULL)

          sc = WBEM_E_OUT_OF_MEMORY;

  }

  return sc;

}

 

要求

 

客户

需要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及更高版本。

在Wbemprov.inc中声明。

DLL

需要Wbemsvc.dll。