Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7813093
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 2, 20262026-06-02T04:44:01+00:00 2026-06-02T04:44:01+00:00

I have successfully created a desktop sharing solution where an RDPViewer connects to an

  • 0

I have successfully created a desktop sharing solution where an RDPViewer connects to an RDPSession. That’s all working beautifully. Now, however, I’m trying to get the opposite to work: using the RDPViewer’s StartReverseConnectListener method, and RDPSession’s ConnectToClient method (where the session side would connect to the viewer side to work around NAT/Firewall issues). I’ve followed the steps outlined at http://msdn.microsoft.com/en-us/library/windows/desktop/aa373359%28v=vs.85%29.aspx, mainly:

  1. The viewer obtains its connection string by calling the
    StartReverseConnectListener method, passing NULL for the
    bstrConnectionString, bstrUserName, and bstrPassword parameters.

  2. The viewer initiates a reverse connect listener by calling the
    StartReverseConnectListener method, passing NULL for the
    pbstrReverseConnectString parameter and valid values for the
    bstrConnectionString, bstrUserName, and bstrPassword parameters.

  3. The viewer sends the connection string obtained in step 1 to the
    sharer.

Using C# 2010, I’ve done the following on the RDPSession side:

RDPSession session = new RDPSession();
session.Open();
session.Invitations.CreateInvitation(null, "test", "12345", 1);

Then, on the RDPViewer side, I’ve done:

string reverseConnectString = axRDPViewer1.StartReverseConnectListener(null, null, null);

(step 1, above)

axRDPViewer1.StartReverseConnectListener(reverseConnectString, "test", "12345");

(step 2, above)

Then, back on the RDPSession side, I attempt to make the connection using the reverseConnectString I obtained from the viewer (I actually saved the string to a file, and then loaded it on the RDPSession side):

session.ConnectToClient(reverseConnectString);

(step 3, above)

As soon as I execute this method, the RDPViewer side disconnects with an error of 1798, which, according to http://msdn.microsoft.com/en-us/library/aa373802%28VS.85%29.aspx, means:

ServerCertificateUnpackErr 1798

Failed to unpack server certificate.

I feel like I’m missing something obvious, but I can’t figure out what.

Any suggestions?

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-02T04:44:02+00:00Added an answer on June 2, 2026 at 4:44 am

    The Microsoft documentation is all wrong regarding reverse connections. Here’s what you need to do (adapted from your code above):

    RDP Session Side:

    RDPSession session = new RDPSession(); 
    session.Open(); 
    string hostConnString = session.Invitations.CreateInvitation(null, "My Group Name", "12345", 1);
    

    RDPViewer side (note that hostConnString should be the same value as retrieved on the session side):

    string viewerConnString = axRDPViewer1.StartReverseConnectListener(hostConnString, "My Name", "12345");
    

    Now back to the RDP session side (note that the viewerConnString should be the same value as retrieved from the viewer side):

    session.ConnectToClient(viewerConnString); 
    

    And that should do it. A couple of things to note. The group name specified in CreateInvitation does not need to match anything anywhere else. I think it’s just for reference should your program need to enumerate the invitations started by the host. The user name passed to StartReverseConnectListener can also be anything you want. This can be interrogated and used on the host side by looking at the RemoteName property in the IRDPSRAPIAttendee interface.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have successfully created an app that reads from a bundled .plist file and
I have created many TestProjects with Visual-Studio-2010 Ultimate . All tests were executed successfully
I have successfully created a server that sends Apple Push Notifications, and my iphone
I have successfully created an email that sends on creation of a Kase, but
I have successfully created a QListWidget that displays 2 lines of text for each
I have successfully created an object loader in java that loads in vertices, indices,
So I have successfully created an upload script using the API, but now I
I have successfully created a UITableView/UITableViewCell that is able to slide up and down
I have successfully created an Android app that calculates prices and then is able
HI All, I have successfully created a Quartz.NET remote server running inside a windows

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.