Классы служебной программы Provider Framework
[Классы WMI C++, которые являются частью платформы поставщика WMI, которая теперь рассматривается в окончательном состоянии, и никакие дальнейшие разработки, улучшения или обновления не будут доступны для проблем, не связанных с безопасностью, влияющих на эти библиотеки. API mi mi следует использовать для всех новых разработок.]
Библиотеки платформы поставщика Framedyd.dll (отладочная версия) и Framedyn.dll (версия выпуска) реализуют несколько вспомогательных классов поставщика. Некоторые функции в Framedyn.dll были удалены из файлов заголовков. Чтобы продолжать использовать эти функции, добавьте #define FRAMEWORK_ALLOW_DEPRECATED
в код перед включением Fwcommon.h.
Вы можете выгрузить отдельных поставщиков, которые больше не требуются.
Чтобы использовать эту возможность, необходимо внести три следующих изменения в поставщик в MainDll.cpp:
- В функции DllMain , где вызывается CWbemProviderGlue::FrameworkLoginDLL, необходимо добавить второй параметр, который является указателем на long.
- В функции DllCanUnloadNow , где вызывается CWbemProviderGlue::FrameworkLogoffDLL, необходимо добавить второй параметр, который является указателем на long.
- В функции DllGetClassObject , где создается экземпляр CWbemGlueFactory, необходимо добавить параметр, который является указателем на long.
Во всех трех случаях указатель на длину должен быть одинаковым.
Примечание
В Maindll.cpp подпрограммы DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer и DllMain должны быть заключены в блок try/catch.
Внимание!
Сборки отладки поставщика связываются с Framedyd.lib для Framedyd.dll. Framedyd.dll находится в каталоге \bin пакета средств разработки программного обеспечения (SDK) Microsoft Windows, который не включен в системный путь. При тестировании отладочной сборки поставщика с помощью службы управления Windows поставщик платформы не сможет загрузиться, так как Framedyd.dll или одна из его зависимостей не будет найдена. Поэтому необходимо либо скопировать Framedyd.dll из каталога \bin windows SDK в каталог \system32\wbem, либо добавить каталог Windows SDK \bin в путь поиска системы.
В следующей таблице перечислены служебные классы платформы поставщика.
Класс utility | Описание |
---|---|
CHString | Предоставляет функции сравнения строк и обработки для инструментария WMI. |
CHStringArray | Содержит для создания массивов CHString и управления ими. |
TRefPointerCollection | Предоставляет доступ к классу контейнера для указателей. |
WBEMTime | Упрощает преобразование между различными форматами среды выполнения Windows и ANSI C. |
WBEMTimeSpan | Содержит вспомогательные функции, используемые для вычисления и удержания разницы в интервале времени между двумя объектами WBEMTime . |
Примечание
Классы CHString и CHStringArray аналогичны классам Microsoft Foundation (MFC) CString и CStringArray. Существуют версии WMI, чтобы разработчики могли получить доступ к методам обработки и сравнения строк без доступа к MFC. Классы WBEMTime и WBEMTimeSpan также аналогичны классам MFC CTime и CTimeSpan . Версии WMI способны сохранять время до точности наносекунд, а также могут выполнять преобразование в BSTR и из нее. Дополнительные сведения о классах CString, CStringArray, CTime и CTimeSpan см. в разделе Классы Microsoft Foundation на сайте MSDN.
Значения BSTR, возвращаемые методами WBEMTime, имеют формат даты и времени: "ггггммддHHMMSS.mmmmsUUU"
Значения BSTR, возвращаемые методами WBEMTimeSpan, находятся в формате интервала: "dddddddDHHMMSS.mmmmmm:000".
Хотя интервалы времени и времени хранятся внутри как наносекунды, они не обязательно хранятся с точностью наносекунд. Это связано с тем, что объекты WBEMTime можно создавать с помощью форматов времени, точных до секунды (struct tm и time_t). Добавление искусственных десятичных разрядов не повышает точность.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по