Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Методы IWbemServices::ExecMethod или ExecMethodAsync требуют __PARAMETERS системного класса в качестве контейнера в pInParams, если метод, который они выполняют, имеет какие-либо входные аргументы.
В следующей процедуре описывается создание экземпляра системного класса __PARAMETERS для хранения сведений о параметрах.
Создание экземпляра __PARAMETERS
Определите путь класса для класса, содержащего определение метода.
Используя путь к классу и указатель IWbemServices, переданный из IWbemProviderInit::Initialize, вызовите IWbemClassObject::GetMethod для получения классов входных и выходных параметров.
Метод GetMethodвозвращает указатель IWbemClassObject для доступа к каждому из этих классов.
Используя указатель IWbemClassObject для выходного класса, вызовите IWbemClassObject::SpawnInstance для создания экземпляра класса.
Заполните экземпляр класса, задав свойства, соответствующие выходным значениям, и, если для метода есть возвращаемое значение, свойство ReturnValue.
Передайте экземпляр __PARAMETERS обратно вызывающей стороне через метод IWbemObjectSink::Indicate.
После того как поставщик методов определяет правильность входных параметров, метод, на который указывает strMethodName, может как успешно завершиться, так и завершиться с ошибкой. Некоторые поставщики методов создают второй поток для выполнения метода, чтобы вызывающая сторона в конечном итоге получала информацию о фактическом успехе или сбое метода через IWbemObjectSink::SetStatus. Обратите внимание, что IWbemObjectSink::SetStatus не получает возвращаемый код метода поставщика. Однако он получает код возврата фактического механизма возврата вызовов и полезен только для проверки того, что вызов произошел или произошел сбой по механическим причинам.
Связанные разделы