Skip to content

Commit

Permalink
Merge pull request #7 from haefele/dah/stuff
Browse files Browse the repository at this point in the history
Add new redirection-properties RedirectCameras and RedirectLocation, and a event to allow RdpClient customization before connection
  • Loading branch information
StefanKoell authored Sep 2, 2024
2 parents 8b41433 + 194f82e commit 2c14ad7
Show file tree
Hide file tree
Showing 11 changed files with 1,267 additions and 8 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
namespace RoyalApps.Community.Rdp.WinForms.Configuration;

/// <summary>
/// Specifies the audio quality mode.
/// </summary>
public enum AudioQualityMode
{
/// <summary>
/// Dynamic audio quality. This is the default audio quality setting. The server dynamically adjusts audio output quality in response to network conditions and the client and server capabilities.
/// </summary>
Dynamic = 0,
/// <summary>
/// Medium audio quality. The server uses a fixed but compressed format for audio output.
/// </summary>
Medium = 1,
/// <summary>
/// High audio quality. The server provides audio output in uncompressed PCM format with lower processing overhead for latency.
/// </summary>
High = 2,
}
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@ public class ConnectionConfiguration : ExpandableObjectConverter
/// <cref>https://docs.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings-loadbalanceinfo</cref>
/// </seealso>
public string? LoadBalanceInfo { get; set; }

/// <summary>
/// The interval in seconds between keep-alive packets.
/// </summary>
/// <seealso>
/// <cref>https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings-keepaliveinterval</cref>
/// </seealso>
public int? ConnectionKeepAliveInterval { get; set; }

/// <summary>
/// If true, the session will be kept-alive through periodic, non-intrusive input simulation preventing idle-time disconnects based on GPO settings.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,9 @@ public enum NetworkConnectionType
/// <summary>
/// Local area network (LAN) (10 Mbps or higher).
/// </summary>
LAN
LAN,
/// <summary>
/// Automatically detect the network connection type.
/// </summary>
Automatic,
}
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,29 @@ public class RedirectionConfiguration : ExpandableObjectConverter
/// </see>
public AudioRedirectionMode AudioRedirectionMode { get; set; }

/// <summary>
/// Specifies the audio quality mode.
/// </summary>
/// <see>
/// <cref>https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings7-audioqualitymode</cref>
/// </see>
public AudioQualityMode AudioQualityMode { get; set; }

/// <summary>
/// Specifies or retrieves a Boolean value that indicates whether the default audio input device is redirected from the client to the remote session.
/// </summary>
/// <see>
/// <cref>https://docs.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings7-audiocaptureredirectionmode</cref>
/// </see>
public bool AudioCaptureRedirectionMode { get; set; }

/// <summary>
/// Specifies if video decoding and rendering is redirected to the client.
/// </summary>
/// <see>
/// <cref>https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientadvancedsettings7-videoplaybackmode</cref>
/// </see>
public bool RedirectVideoRendering { get; set; }

/// <summary>
/// Specifies if redirection of printers is allowed.
Expand Down Expand Up @@ -86,6 +102,22 @@ public class RedirectionConfiguration : ExpandableObjectConverter
/// </summary>
public string? RedirectDriveLetters { get; set; }

/// <summary>
/// Specifies if redirection of cameras is allowed.
/// </summary>
/// <see>
/// <cref>https://learn.microsoft.com/en-us/windows/win32/termserv/imsrdpclientnonscriptable7-cameraredirconfigcollection</cref>
/// </see>
public bool RedirectCameras { get; set; }

/// <summary>
/// Specifies if redirection of location is allowed.
/// </summary>
/// <see>
/// EnableLocationRedirection <cref>https://learn.microsoft.com/de-de/windows/win32/termserv/imsrdpextendedsettings-property#property-value</cref>
/// </see>
public bool RedirectLocation { get; set; }

/// <summary>
/// ToString
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,11 +50,6 @@ public class SecurityConfiguration : ExpandableObjectConverter
/// </seealso>
public bool RestrictedAdminMode { get; set; }

/// <summary>
/// Determines whether the client will use Microsoft Entra ID to authenticate to the remote PC. In Azure Virtual Desktop, this provides a single sign-on experience.
/// </summary>
public bool EnableRdsAadAuth { get; set; }

/// <summary>
/// ToString
/// </summary>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
namespace RoyalApps.Community.Rdp.WinForms.Configuration;

/// <summary>
/// Specifies the video playback mode, which specifies if video decoding and rendering is redirected to the client.
/// </summary>
public enum VideoPlaybackMode
{
/// <summary>
/// Decode and render on the server.
/// </summary>
DecodeAndRenderOnServer = 0,
/// <summary>
/// Decode and render on the client.
/// </summary>
DecodeAndRenderOnClient = 1,
}
Loading

0 comments on commit 2c14ad7

Please sign in to comment.