Поделиться через


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

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

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

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

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

  1. Разработайте и зарегистрируйте вашего поставщика классов в WMI.

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

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

    Заметка

    Методическим поставщикам настоятельно рекомендуется использовать многопоточную модель "Both".

     

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

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

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

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

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

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

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