Поддержка операций Partial-Instance
Поставщик не требуется для поддержки операций с частичным экземпляром. Однако поставщик должен либо поддерживать всю семантику операции частичного экземпляра, либо обрабатывать полный экземпляр, либо возвращать WBEM_E_UNSUPPORTED_PARAMETER.
При создании поставщика, поддерживающего операции с частичным экземпляром, необходимо соблюдать следующие правила.
- Повторно используйте тот же объект контекста, который WMI отправляет поставщику. WMI использует именованное значение "__GET_EXT_CLIENT_REQUEST" для предотвращения взаимоблокировок и удаляет этот клиент перед перенаправлением объекта контекста поставщику.
- Для повторных вызовов в WMI, которые не требуют операции с частичным экземпляром, убедитесь, что тот же объект контекста передается обратно без каких-либо изменений. WMI получает объект контекста без набора именованных значений "__GET_EXT_CLIENT_REQUEST" и удаляет все именованные значения, связанные с операциями частичного экземпляра, из объекта контекста, прежде чем передавать его другим поставщикам. Не изменяя объект контекста, другие поставщики не могут получать операции извлечения частичного экземпляра, предназначенные для другого несвязанного объекта.
- Чтобы выполнить операцию повторного частичного экземпляра при выполнении запроса, задайте отсутствующее именованное значение и свойство "__GET_EXT_CLIENT_REQUEST". При необходимости можно изменить свойства в именованном значении __GET_EXT_PROPERTIES перед отправкой объекта контекста обратно в WMI с повторным вызовом.
- Не обращаться к объекту контекста после возврата его в WMI во время повторного вызова; другие поставщики могут изменять списки свойств или другие значения во время повторного входа. Объект контекста можно проверить или изменить только на протяжении всего вызова IWbemServices , который вы реализуете.