функция обратного вызова WSMAN_PLUGIN_SHUTDOWN (wsman.h)
Определяет обратный вызов завершения работы для подключаемого модуля. Эта функция вызывается после отмены всех операций и перед выгрузкой библиотеки DLL подключаемого модуля удаленного управления Windows. Все подключаемые модули WinRM должны реализовывать эту функцию обратного вызова.
Имя точки входа DLL должно быть WSManPluginShutdown.
Синтаксис
WSMAN_PLUGIN_SHUTDOWN WsmanPluginShutdown;
DWORD WsmanPluginShutdown(
PVOID pluginContext,
DWORD flags,
DWORD reason
)
{...}
Параметры
pluginContext
Указывает контекст, возвращенный вызовом метода WSManPluginStartup . Этот параметр представляет собой инициализацию конкретного приложения подключаемого модуля WinRM. Точка входа завершения работы будет вызываться для каждого инициализированного приложения.
flags
Зарезервировано для последующего использования. Необходимо задать нулевое значение.
reason
Указывает причину завершения работы подключаемого модуля.
WSMAN_PLUGIN_SHUTDOWN_SYSTEM
Система завершает работу.
WSMAN_PLUGIN_SHUTDOWN_SERVICE
Служба WinRM завершает работу.
WSMAN_PLUGIN_SHUTDOWN_IISHOST
Узел IIS завершает работу.
Возвращаемое значение
При успешном выполнении метод возвращает NO_ERROR . В противном случае возвращается код ошибки.
Комментарии
Каждый успешный вызов WSManPluginStartup приведет к вызову этой функции перед выгрузкой подключаемой библиотеки DLL WinRM. Важно убедиться, что подключаемый модуль WinRM отслеживает количество вызовов этой точки входа при запуске, чтобы подключаемый модуль не завершал работу преждевременно.
Эта функция должна обеспечить завершение работы всех подключаемых потоков перед возвратом. Если подключаемый модуль обрабатывает только синхронные операции и все потоки сообщают о результатах отмены до их возврата, эта функция выполняет только очистку подключаемого модуля. Однако для асинхронного подключаемого модуля все потоки, используемые для обработки потоков подключаемого модуля, включая те, которые только что сообщили об отмене для всех операций, должны быть полностью завершены. Если все потоки не завершаются, могут произойти сбои в библиотеке DLL, так как код может выполняться после выгрузки библиотеки DLL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 7 |
Минимальная версия сервера | Windows Server 2008 R2 |
Целевая платформа | Windows |
Header | wsman.h |
Распространяемые компоненты | Windows Management Framework в Windows Server 2008 с пакетом обновления 2 (SP2) и Windows Vista с пакетом обновления 2 (SP2) |