Skip to content

Commit

Permalink
Simplify the virtual machine connect and disconnect implementation.
Browse files Browse the repository at this point in the history
  • Loading branch information
MouriNaruto committed Aug 21, 2024
1 parent 333b188 commit c44a6ca
Showing 1 changed file with 10 additions and 11 deletions.
21 changes: 10 additions & 11 deletions NanaBox/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,16 @@ int NanaBox::MainWindow::OnCreate(
try
{
this->InitializeVirtualMachine();

winrt::check_hresult(::RDPBASE_CreateInstance(
nullptr,
CLSID_RDPRuntimeSTAContext,
IID_IRDPENCPlatformContext,
this->m_PlatformContext.put_void()));
winrt::check_hresult(this->m_PlatformContext->InitializeInstance());
this->m_RdpNamedPipeCallbacks =
winrt::make<NanaBox::RdpNamedPipeCallbacks>(this);

this->RdpClientInitialize();
}
catch (...)
Expand Down Expand Up @@ -1068,10 +1078,7 @@ void NanaBox::MainWindow::RdpClientOnDisconnected(
UNREFERENCED_PARAMETER(DisconnectReason);

this->m_RdpNamedPipe->TerminateInstance();
this->m_RdpNamedPipeCallbacks = nullptr;
this->m_RdpNamedPipe = nullptr;
this->m_PlatformContext->TerminateInstance();
this->m_PlatformContext = nullptr;

if (this->m_RdpClientMode == RdpClientMode::EnhancedVideoSyncedSession)
{
Expand Down Expand Up @@ -1348,19 +1355,11 @@ void NanaBox::MainWindow::RdpClientUninitialize()

void NanaBox::MainWindow::RdpClientConnect()
{
winrt::check_hresult(::RDPBASE_CreateInstance(
nullptr,
CLSID_RDPRuntimeSTAContext,
IID_IRDPENCPlatformContext,
this->m_PlatformContext.put_void()));
winrt::check_hresult(this->m_PlatformContext->InitializeInstance());
winrt::check_hresult(::RDPBASE_CreateInstance(
this->m_PlatformContext.get(),
CLSID_RDPENCNamedPipeDirectConnector,
IID_IRDPENCNamedPipeDirectConnector,
this->m_RdpNamedPipe.put_void()));
this->m_RdpNamedPipeCallbacks =
winrt::make<NanaBox::RdpNamedPipeCallbacks>(this);
winrt::check_hresult(this->m_RdpNamedPipe->InitializeInstance(
this->m_RdpNamedPipeCallbacks.get()));
winrt::check_hresult(this->m_RdpNamedPipe->StartConnect(
Expand Down

0 comments on commit c44a6ca

Please sign in to comment.