다음을 통해 공유


IWRdsProtocolConnection 인터페이스(wtsprotocol.h)

클라이언트 연결을 구성하기 위해 원격 데스크톱 서비스 서비스에서 호출한 메서드를 노출합니다. 프로토콜은 클라이언트의 연결 요청을 처리하기 위해 이 인터페이스를 구현해야 합니다. 프로토콜 수신기가 클라이언트에서 연결 요청을 받으면 IWRdsProtocolConnection 개체를 만들고 IWRdsProtocolListenerCallback::OnConnected 메서드를 호출하여 원격 데스크톱 서비스 서비스에 전달해야 합니다. 이에 대한 응답으로 서비스는 IWRdsProtocolConnectionCallback 개체에 대한 참조를 추가하고 이에 대한 포인터를 반환합니다. 연결이 더 이상 필요하지 않은 경우 프로토콜은 포인터를 해제해야 합니다.

연결 시퀀스 중에 나열된 순서대로 원격 데스크톱 서비스 서비스에서 다음 메서드를 호출합니다.

  1. GetLogonErrorRedirector
  2. AcceptConnection
  3. GetClientData
  4. GetClientMonitorData
  5. GetUserCredentials
  6. GetLicenseConnection
  7. AuthenticateClientToSession
  8. NotifySessionId
  9. GetInputHandles
  10. GetVideoHandle
  11. ConnectNotify
  12. NotifyCommandProcessCreated
  13. IsUserAllowedToLogon
  14. SessionArbitrationEnumeration
  15. LogonNotify
SessionArbitrationEnumeration을 호출한 후 원격 데스크톱 서비스 서비스를 다시 연결해야 하는 경우 나열된 순서대로 다음 메서드를 호출하여 다시 연결합니다.
  1. DisconnectNotify (생성된 새 세션에서 호출됨)
  2. NotifySessionId (기존 세션에서 호출됨)
  3. GetInputHandles
  4. GetVideoHandle
  5. ConnectNotify
  6. LogonNotify
연결을 끊기 위해 원격 데스크톱 서비스 서비스는 나열된 순서대로 다음 메서드를 호출합니다.
  1. PreDisconnect
  2. DisconnectNotify
  3. 닫기
원격 데스크톱 서비스 서비스는 연결이 설정된 후 언제든지 다음 메서드를 호출할 수 있습니다.

상속

IWRdsProtocolConnection 인터페이스는 IUnknown 인터페이스에서 상속됩니다. IWRdsProtocolConnection 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

IWRdsProtocolConnection 인터페이스에는 이러한 메서드가 있습니다.

 
IWRdsProtocolConnection::AcceptConnection

프로토콜이 연결 요청을 계속하도록 지시합니다.
IWRdsProtocolConnection::AuthenticateClientToSession

연결을 다시 연결해야 하는 세션을 지정합니다.
IWRdsProtocolConnection::Close

세션 연결이 끊긴 후 연결을 닫습니다.
IWRdsProtocolConnection::ConnectNotify

세션이 초기화되었음을 프로토콜에 신호를 보냅니다.
IWRdsProtocolConnection::CreateVirtualChannel

프로토콜이 가상 채널을 만들 것을 요청합니다.
IWRdsProtocolConnection::D isconnectNotify

프로토콜에 세션 연결이 끊어졌는지 알 수 있습니다.
IWRdsProtocolConnection::GetClientData

프로토콜에서 클라이언트 설정을 요청합니다.
IWRdsProtocolConnection::GetClientMonitorData

클라이언트의 모니터 수와 기본 모니터 번호를 검색합니다.
IWRdsProtocolConnection::GetInputHandles

프로토콜에 대한 입력/출력 디바이스에 대한 핸들을 가져옵니다.
IWRdsProtocolConnection::GetLastInputTime

프로토콜이 사용자 입력을 마지막으로 받은 시간을 검색합니다.
IWRdsProtocolConnection::GetLicenseConnection

클라이언트 라이선스 프로세스를 시작하는 데 사용되는 IWRdsProtocolLicenseConnection 개체를 검색합니다.
IWRdsProtocolConnection::GetLogonErrorRedirector

프로토콜이 클라이언트 로그온 오류를 처리하는 방법을 지정하는 IWRdsProtocolLogonErrorRedirector 인터페이스를 검색합니다.
IWRdsProtocolConnection::GetProtocolStatus

프로토콜 상태 대한 정보를 검색합니다.
IWRdsProtocolConnection::GetShadowConnection

프로토콜에서 섀도 연결 개체에 대한 참조를 검색합니다.
IWRdsProtocolConnection::GetUserCredentials

사용자 자격 증명을 반환합니다.
IWRdsProtocolConnection::GetVideoHandle

프로토콜에 대한 비디오 디바이스의 핸들을 가져옵니다.
IWRdsProtocolConnection::IsUserAllowedToLogon

프로토콜에서 사용자가 세션에 로그온할 수 있는지 여부를 결정합니다.
IWRdsProtocolConnection::LogonNotify

사용자가 세션에 로그온했을 때 호출됩니다.
IWRdsProtocolConnection::NotifyCommandProcessCreated

프로토콜에 Winlogon.exe 프로세스가 만들어지고 초기화되었음을 알 수 있습니다.
IWRdsProtocolConnection::NotifySessionId

새 세션의 식별자를 프로토콜로 보냅니다.
IWRdsProtocolConnection::P reDisconnect

세션의 연결이 끊어질 것임을 프로토콜에 알 수 있습니다.
IWRdsProtocolConnection::QueryProperty

프로토콜에서 속성 값을 검색합니다.
IWRdsProtocolConnection::SessionArbitrationEnumeration

프로토콜이 다시 연결할 세션을 지정할 수 있도록 중재 후에 호출됩니다.
IWRdsProtocolConnection::SetErrorInfo

프로토콜에서 오류 정보를 설정합니다.

설명

이 인터페이스에서 메서드를 호출할 때 교착 상태가 발생하지 않도록 하려면 직접 또는 간접적으로 원격 데스크톱 서비스 API가 호출되는 함수 또는 메서드 호출을 수행해서는 안 됩니다. 아웃바운드 호출을 수행해야 하는 경우 새 스레드를 시작하고 새 스레드에서 아웃바운드 호출을 수행해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 지원되는 버전 없음
지원되는 최소 서버 Windows Server 2012
대상 플랫폼 Windows
헤더 wtsprotocol.h