Win32 API 日本語リファレンス
ホーム › System.RemoteManagement › WSMAN_PLUGIN_SHUTDOWN

WSMAN_PLUGIN_SHUTDOWN

コールバック

シグネチャ

DWORD WSMAN_PLUGIN_SHUTDOWN(
    void* pluginContext,
    DWORD flags,
    DWORD reason
);

パラメーター

フィールド型説明
pluginContextvoid*WSManPluginStartup メソッドの呼び出しによって返されたコンテキストを指定します。このパラメーターは、WinRM プラグインの特定のアプリケーション初期化を表します。シャットダウン エントリ ポイントは、初期化を行ったアプリケーションごとに呼び出されます。
flagsDWORD将来の使用のために予約されています。ゼロに設定する必要があります。
reasonDWORD

プラグインがシャットダウンする理由を指定します。

WSMAN_PLUGIN_SHUTDOWN_SYSTEM

システムがシャットダウンしました。

WSMAN_PLUGIN_SHUTDOWN_SERVICE

WinRM サービスがシャットダウンしました。

WSMAN_PLUGIN_SHUTDOWN_IISHOST

IIS ホストがシャットダウンしました。

公式ドキュメント

プラグインのシャットダウン コールバックを定義します。この関数は、すべての操作がキャンセルされた後、Windows リモート管理プラグイン DLL がアンロードされる前に呼び出されます。すべての WinRM プラグインは、このコールバック関数を実装する必要があります。

DLL のエントリ ポイント名は WSManPluginShutdown でなければなりません。

戻り値

成功した場合、このメソッドは NO_ERROR を返します。それ以外の場合は、エラー コードを返します。

メモ このメソッドが失敗した場合、プラグインからのコールバックは行われません。

解説(Remarks)

WSManPluginStartup の呼び出しが成功するたびに、WinRM プラグイン DLL がアンロードされる前にこの関数が呼び出されます。プラグインが早期にシャットダウンされないように、WinRM プラグイン側でこのスタートアップ エントリ ポイントが呼び出された回数を追跡することが重要です。

この関数は、戻る前にすべてのプラグイン スレッドがシャットダウンされていることを保証する必要があります。プラグインが同期操作のみを処理し、すべてのスレッドが戻る前にキャンセル結果を報告する場合、この関数はプラグインのクリーンアップのみを実行します。ただし非同期プラグインの場合は、すべての操作のキャンセルを報告したばかりのスレッドを含め、プラグインの処理に使用されるすべてのスレッドを完全にシャットダウンする必要があります。すべてのスレッドがシャットダウンされていないと、DLL がアンロードされた後にコードが実行される可能性があるため、DLL でクラッシュが発生するおそれがあります。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)