Метод Provider::GetObject(ParsedObjectPath*,MethodContext*,long) (provider.h)
[Класс Provider является частью платформы поставщика WMI, которая в настоящее время рассматривается в окончательном состоянии, и дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]
Метод GetObject вызывается WMI для получения экземпляра класса .
Синтаксис
HRESULT GetObject(
ParsedObjectPath *pParsedObjectPath,
MethodContext *pContext,
[ref] long lFlags
);
Параметры
pParsedObjectPath
Указатель на объект CInstance , заполняемый поставщиком платформы.
pContext
Битовая маска флагов с информацией об операции GetObject . Это значение, указанное клиентом в методе IWbemServices::GetObject .
Следующие флаги обрабатываются (и отфильтровываются) WMI:
- WBEM_FLAG_USE_AMENDED_QUALIFIERS
- WBEM_FLAG_RETURN_WBEM_COMPLETE
- WBEM_FLAG_RETURN_IMMEDIATELY
[ref] lFlags
Объект запроса, указывающий набор свойств для заполнения в соответствии с запросом метода Provider::GetObject.
Поставщик может добиться значительного повышения производительности, заполнив только эти запрошенные значения свойств. Поставщик определяет, какие свойства запрашиваются с помощью CFrameworkQuery::IsPropertyRequired. В противном случае поставщик должен заполнить все значения свойств.
Возвращаемое значение
Реализация этого метода поставщиком платформы по умолчанию возвращает WBEM_E_PROVIDER_NOT_CAPABLE вызывающем методу. Метод IWbemServices::GetObject перечисляет общие возвращаемые значения, хотя можно реализовать любое возвращаемое значение COM.
Комментарии
WMI часто вызывает GetObject в ответ на клиентский вызов IWbemServices::GetObject. Версия WMI Provider::GetObject предоставляет экземпляр только с заполненными свойствами ключа. В отличие от этого, реализованный поставщик платформы должен заполнять все остальные свойства. Ниже описано общее переопределение GetObject.
- Определите, какой экземпляр WMI запрашивается, считывая ключевые свойства с помощью метода Get из CInstance, например CInstance::GetCHString.
- Заполните остальные свойства экземпляра с помощью множества методов Set класса CInstance , таких как CInstance::SetByte или CInstance::SetStringArray.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista |
Минимальная версия сервера | Windows Server 2008 |
Целевая платформа | Windows |
Header | provider.h (включая FwCommon.h) |
Библиотека | FrameDyn.lib |
DLL | FrameDynOS.dll; FrameDyn.dll |