public unsafe string GetRawInline() { string variable = Variable; if (variable == null) { throw new ArgumentNullException(nameof(variable)); } Span <char> stack = stackalloc char[128]; ValueStringBuilder buffer = new ValueStringBuilder(stack); uint returnValue; fixed(char *v = variable) { while (true) { fixed(char *b = buffer) { if ((returnValue = Raw.GetEnvironmentVariableW(v, b, (uint)buffer.Capacity)) <= buffer.Capacity) { break; } else { buffer.EnsureCapacity((int)returnValue); } } } ; } if (returnValue == 0) { return(null); } buffer.Length = (int)returnValue; return(buffer.ToString()); }