Skip to content

Commit 3cfb6bc

Browse files
committed
Added redirection dll name.
1 parent 4b88696 commit 3cfb6bc

2 files changed

Lines changed: 12 additions & 0 deletions

File tree

NtApiDotNet/NtProcess.cs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,13 @@ private static NtProcessCreateResult Create(NtProcessCreateConfig config, string
136136
{
137137
process_params = config.ProcessParametersCallback(process_params, dispose);
138138
}
139+
if (!string.IsNullOrWhiteSpace(config.RedirectionDllName)
140+
&& NtObjectUtils.SupportedVersion >= SupportedVersion.Windows10_19H1)
141+
{
142+
var str = dispose.AddResource(new UnicodeStringAllocated(config.RedirectionDllName));
143+
IntPtr offset = Marshal.OffsetOf(typeof(RtlUserProcessParameters), "RedirectionDllName");
144+
process_params.Write((ulong)offset.ToInt32(), str.String);
145+
}
139146
}
140147

141148
ProcessCreateInfo create_info = dispose.AddResource(new ProcessCreateInfo());

NtApiDotNet/NtProcessCreateConfig.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,11 @@ public sealed class NtProcessCreateConfig
163163
/// Specify callback to update process parameters.
164164
/// </summary>
165165
public Func<SafeProcessParametersBuffer, DisposableList, SafeProcessParametersBuffer> ProcessParametersCallback { get; set; }
166+
167+
/// <summary>
168+
/// Redirection DLL path. Only supported from 1903.
169+
/// </summary>
170+
public string RedirectionDllName { get; set; }
166171
#endregion
167172

168173
#region Public Methods

0 commit comments

Comments
 (0)