共用方式為


WSManDisconnectShell 函式 (wsman.h)

中斷作用中殼層及其相關聯命令的網路連線。

語法

void WSManDisconnectShell(
  [in, out] WSMAN_SHELL_HANDLE          shell,
            DWORD                       flags,
  [in]      WSMAN_SHELL_DISCONNECT_INFO *disconnectInfo,
  [in]      WSMAN_SHELL_ASYNC           *async
);

參數

[in, out] shell

指定呼叫 WSManCreateShell 函式所傳回的句柄。 此參數不可為 NULL

flags

可以是 WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP 旗標或 WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK 旗標。

[in] disconnectInfo

WSMAN_SHELL_DISCONNECT_INFO 結構的指標,指定伺服器會話可能會強制執行的閑置逾時。 如果此參數為 NULL,伺服器會話閒置逾時將不會變更。

[in] async

定義異步結構,以包含選擇性的使用者內容和強制回呼函式。 如需詳細資訊,請參閱 WSMAN_SHELL_ASYNC。 此參數不可為 NULL

傳回值

備註

此函式會暫停與主動連線伺服器會話的網路連線。 在殼層實例上執行的任何作業,例如 WSManRunShellCommandWSManSendShellInputWSManSignalShell,會在中斷連線之前系結完成。 這可確保在殼層中斷連線之前,伺服器會話會接收透過 WSManSendShellInput 傳送的任何數據。 用戶端可以選擇性地使用旗標來修改伺服器緩衝模式。 觀察到下列行為:

  • WSMAN_FLAG_SERVER_BUFFERING_MODE_DROP – 當緩衝區已滿時,伺服器會在響應數據流緩衝區中卸載先前的數據,以確保對應的命令作業會繼續執行。
  • WSMAN_FLAG_SERVER_BUFFERING_MODE_BLOCK – 當響應數據流緩衝區已滿時,伺服器會封鎖命令執行。 如果未指定旗標,伺服器會繼續使用已設定的模式,或建立殼層時所指定的模式。 如果網路失敗,如果客戶端無法連絡會話以中斷殼層的連線,則會傳回下列錯誤:

    ERROR_WINRS_SHELL_DISCONNECT_OPERATION_NOT_GRACEFUL

    用戶端會話仍然處於已中斷連線的狀態,但不保證任何先前的作業在會話中斷連線之前都已完成。

規格需求

需求
最低支援的用戶端 Windows 8
最低支援的伺服器 Windows Server 2012
目標平台 Windows
標頭 wsman.h
程式庫 WsmSvc.lib
Dll WsmSvc.dll