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일 수 없습니다.
반환 값
없음
설명
이 함수는 적극적으로 연결된 서버 세션에 대한 네트워크 연결을 일시 중단합니다. WSManRunShellCommand, WSManSendShellInput 또는 WSManSignalShell과 같은 셸 instance 수행된 모든 작업은 연결 끊기 전에 완료될 수밖에 없습니다. 이렇게 하면 셸 연결이 끊기기 전에 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 |