WSMAN_PLUGIN_SIGNAL
コールバックシグネチャ
void WSMAN_PLUGIN_SIGNAL(
WSMAN_PLUGIN_REQUEST* requestDetails,
DWORD flags,
void* shellContext,
void* commandContext,
LPWSTR code
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| requestDetails | WSMAN_PLUGIN_REQUEST* | 要求のリソース URI、オプション、ロケール、シャットダウンフラグ、およびハンドルを指定する WSMAN_PLUGIN_REQUEST 構造体へのポインターです。 |
| flags | DWORD | 将来の使用のために予約されています。0 でなければなりません。 |
| shellContext | void* | シェルが作成されたときに受け取ったコンテキストを指定します。 |
| commandContext | void* | この要求がシェルではなくコマンドを対象としている場合、これは winrm create 操作から返されたコンテキストです。それ以外の場合、このパラメーターは NULL です。 |
| code | LPWSTR | クライアントから受信したシグナルを指定します。一般的なコードは次のとおりです。 WSMAN_SIGNAL_SHELL_CODE_TERMINATEシェルまたはコマンドプロンプトウィンドウが閉じられました。プラグインは WSManPluginOperationComplete 関数を呼び出す必要があります。 WSMAN_SIGNAL_SHELL_CODE_CTRL_CCTRL+C のシグナルを受信し、プロセスが停止されました。プラグインは WSManPluginOperationComplete 関数を呼び出す必要があります。 WSMAN_SIGNAL_SHELL_CODE_CTRL_BREAKCTRL+BREAK のシグナルを受信し、プロセスが停止されました。プラグインは WSManPluginOperationComplete 関数を呼び出す必要があります。 |
公式ドキュメント
プラグインのシグナルコールバックを定義します。この関数は、クライアントの呼び出しから受信シグナルを 受け取ったときに呼び出されます。
このメソッドの DLL エントリポイント名は WSManPluginSignal でなければなりません。
解説(Remarks)
シグナルは、CTRL+C シーケンスの処理のために、または他の多くの種類のカスタムシグナルとして受信されることがあります。 コールバックは、受信したシグナルごとに 1 回呼び出されます。どのシグナルによってコマンドやシェルをシャットダウンするかは、 プラグインが決定します。シグナルはシェル固有であるため、プラグインは WSManPluginOperationComplete メソッドを呼び出して シャットダウンを開始する必要があります。呼び出しごとに、プラグインは受信を確認し、次のシグナルを受信できるようにするために WSManPluginOperationComplete を 呼び出す必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)