描述
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。 |