mirror of
https://github.com/aphrody-labs/WSL.git
synced 2026-10-14 21:59:15 +00:00
* Document what the session creation parameters do, and which of them are visible to all users on the machine * Apply suggestions from code review Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1.5 KiB
1.5 KiB
SessionSettings
Configures a session before Session.Start().
public sealed class SessionSettings
{
public SessionSettings(string name, string storagePath);
public string Name { get; set; }
public string StoragePath { get; set; }
public uint? CpuCount { get; set; }
public uint? MemorySizeInMB { get; set; }
public TimeSpan? Timeout { get; set; }
public VhdOptions VhdRequirements { get; set; }
public bool EnableGpu { get; set; }
}
Notes:
Nameis the name of the session to be created.StoragePathis the path to where the session storage should be written. If the path doesn't exist, it will be created.CpuCount,MemorySizeInMB, andTimeoutare optional nullable values.Timeoutmust be positive and must fit in auint32millisecond count.VhdRequirementsis optional.
Session names serve both as display names and as machine-wide keys used to identify sessions. If a session with the same name already exists, session creation will fail with ERROR_ALREADY_EXISTS.
Also note that the following information about a session is visible to all users on the machine:
- The session's name
- The SID of the user that created the session
- The PID of the process that created the session
Do not put credentials or other sensitive information in the session's name.
Example:
var sessionSettings = new SessionSettings("demo-session", @"C:\WslcData")
{
CpuCount = 4,
MemorySizeInMB = 4096,
Timeout = TimeSpan.FromMinutes(5),
EnableGpu = true
};