Написание поставщика метода

Поставщик методов разрешает WMI-доступ к методам класса. Например, класс, представляющий приложение, может иметь метод, который завершает работу приложения.

Изменение порядка входных и выходных параметров метода при обновлении существующего поставщика метода может привести к сбою в приложениях, вызывающих метод. Порядок входных или выходных параметров определяется значением квалификатора идентификатора для каждого параметра. Первый параметр имеет значение идентификатора , равное нулю. Добавьте новые входные параметры в конец существующих параметров, а не вставляйте их в уже установленную последовательность.

В следующей процедуре описывается реализация поставщика метода.

Реализация поставщика метода

  1. Проектирование и регистрация поставщика класса с помощью инструментария WMI.

    Поставщики классов регистрируются с помощью WMI путем создания экземпляра __Win32Provider и класса __MethodProviderRegistration . Дополнительные сведения см. в разделе Регистрация поставщика метода.

  2. Реализуйте интерфейс IWbemProviderInit для поставщика.

    Примечание

    Поставщикам методов настоятельно рекомендуется использовать многопоточность "Оба".

     

  3. Реализуйте метод IWbemServices::ExecMethodAsync для поставщика.

    Интерфейс IWbemServices является основным интерфейсом для поставщика метода. Дополнительные сведения см. в разделе Реализация основного интерфейса для поставщика методов.

  4. Добавьте дополнительный код, необходимый для поставщика.

    При проектировании поставщика, скорее всего, потребуется вызвать интерфейсы WMI. Дополнительные сведения см. в разделах Вызов метода и Поддержание уровней безопасности в поставщике.

    При получении сведений для клиента может потребоваться доступ к уровням безопасности для этого клиента. Дополнительные сведения см. в разделе Олицетворение клиента.

  5. Замените существующий поставщик новым кодом.

    Этот шаг не требуется выполнять, если у вас нет поставщика для копирования. Дополнительные сведения см. в разделе Обновление поставщика.