PeerFinder.FindAllPeersAsync 호출 시 System.UnauthorizedAccessException 예외 발생
PeerFinder.FindAllPeersAsync를 호출해 Peer.Client 입장에서 Peer.Host를 찾으려고 하는 경우,
var peerInfoCollection = await PeerFinder.FindAllPeersAsync();
다음과 같은 예외가 발생할 수 있습니다.
Unhandled Exception: System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
at PeerClient.PeerClient.<Start>d__2.MoveNext() in C:\ConsoleApplication1\PeerClient\Program.cs:line 55
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__6_1(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
제 경우에, RDP로 접속해 Peer.Client를 실행했을 때 저런 오류가 발생했습니다. 따라서, 해당 컴퓨터에 직접 로그인해 Peer.Client 응용 프로그램을 실행시키면 저런 오류가 발생하지 않습니다.
그러니까, Wi-Fi Direct 클라이언트는 RDP 환경에서 사용할 수 없다는 의미!
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]