次の方法で共有


WSMAN_PLUGIN_SHUTDOWN コールバック関数 (wsman.h)

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

DLL エントリ ポイント名は WSManPluginShutdown である必要があります。

構文

WSMAN_PLUGIN_SHUTDOWN WsmanPluginShutdown;

DWORD WsmanPluginShutdown(
  PVOID pluginContext,
  DWORD flags,
  DWORD reason
)
{...}

パラメーター

pluginContext

WSManPluginStartup メソッドの呼び出しによって返されたコンテキストを指定します。 このパラメーターは、WinRM プラグインの特定のアプリケーション初期化を表します。 シャットダウン エントリ ポイントは、初期化したアプリケーションごとに呼び出されます。

flags

将来利用するために予約されています。 0 に設定する必要があります。

reason

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

WSMAN_PLUGIN_SHUTDOWN_SYSTEM

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

WSMAN_PLUGIN_SHUTDOWN_SERVICE

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

WSMAN_PLUGIN_SHUTDOWN_IISHOST

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

戻り値

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

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

注釈

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

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

要件

要件
サポートされている最小のクライアント Windows 7
サポートされている最小のサーバー Windows Server 2008 R2
対象プラットフォーム Windows
ヘッダー wsman.h
再頒布可能パッケージ Windows Server 2008 sp2、および Windows Vista SP2 でのWindows Management Framework