Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetEnvironmentVariableCore()

static string System.Environment.GetEnvironmentVariableCore ( string variable)
inlinestaticprivate

Definition at line 870 of file Environment.cs.

871 {
872 Span<char> initialBuffer = stackalloc char[128];
873 ValueStringBuilder valueStringBuilder = new ValueStringBuilder(initialBuffer);
874 uint environmentVariable;
875 while ((environmentVariable = Interop.Kernel32.GetEnvironmentVariable(variable, ref valueStringBuilder.GetPinnableReference(), (uint)valueStringBuilder.Capacity)) > valueStringBuilder.Capacity)
876 {
877 valueStringBuilder.EnsureCapacity((int)environmentVariable);
878 }
879 if (environmentVariable == 0 && Marshal.GetLastPInvokeError() == 203)
880 {
881 valueStringBuilder.Dispose();
882 return null;
883 }
884 valueStringBuilder.Length = (int)environmentVariable;
885 return valueStringBuilder.ToString();
886 }
static uint GetEnvironmentVariable(string lpName, ref char lpBuffer, uint nSize)

References System.Text.ValueStringBuilder.Capacity, System.Text.ValueStringBuilder.Dispose(), System.Text.ValueStringBuilder.EnsureCapacity(), Interop.Kernel32.GetEnvironmentVariable(), System.Runtime.InteropServices.Marshal.GetLastPInvokeError(), System.Text.ValueStringBuilder.GetPinnableReference(), and System.Text.ValueStringBuilder.ToString().

Referenced by System.Environment.GetEnvironmentVariable().