Реализация интерфейса High-Performance
Так как WMI загружает высокопроизводительный поставщик внутри процесса в WMI или клиентское приложение, необходимо разработать высокопроизводительный поставщик в качестве внутрипроцессного сервера. Кроме того, необходимо реализовать высокопроизводительные методы поставщика в интерфейсах IWbemHiPerfProvider и IWbemRefresher .
Высокопроизводительный поставщик следует реализовать в качестве внутрипроцессного сервера. Одна из функций, о которых следует знать при реализации безопасности внутрипроцессного сервера, заключается в том, как поставщик определяет свое собственное расположение. При загрузке внутри процесса в WMI WMI создает экземпляр поставщика с помощью CLSID. При загрузке в процессе в клиентское приложение клиентское приложение создает экземпляр поставщика со свойством ClientLoadableCLSID . Присвоив разные значения CLSID и ClientLoadableCLSID, поставщик может определить, загружен ли он внутри процесса в WMI или в клиентское приложение. Если он находится в процессе WMI, поставщик должен выполнять все необходимые олицетворения клиента с помощью ClientLoadableCLSID. Если он находится в клиентском процессе, поставщик наследует маркер доступа потока, в который он вызывается. Дополнительные сведения о реализации внутрипроцессного сервера см. в разделе COM на сайте MSDN.
В качестве внутрипроцессного сервера высокопроизводительный поставщик использует объект средства обновления для поддержания актуальности данных удаленного клиента. В следующей таблице перечислены методы, которые необходимо реализовать для высокопроизводительного поставщика.
Метод | Компонент |
---|---|
IWbemHiPerfProvider::QueryInstances | Запросы |
IWbemHiPerfProvider::GetObjects | Получение объекта |
IWbemHiPerfProvider::CreateRefresher | Создает средство обновления |
IWbemHiPerfProvider::CreateRefreshableObject | Создает обновляемый объект экземпляра |
IWbemHiPerfProvider::CreateRefreshableEnum | Создает обновляемый перечислитель |
IWbemHiPerfProvider::StopRefreshing | Останавливает обновление перечислителя или объекта экземпляра |
IWbemRefresher::Refresh | Создает средство обновления |
Связанные темы
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по