<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.3.25173.2" />

PSTR

struct PSTR : IEquatable<PSTR>
using System; using System.CodeDom.Compiler; using System.Diagnostics; namespace Windows.Win32.Foundation { [DebuggerDisplay("{Value}")] [GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")] internal readonly struct PSTR : IEquatable<PSTR> { internal unsafe readonly byte* Value; internal unsafe int Length => new PCSTR(Value).Length; private string DebuggerDisplay => ToString(); internal unsafe PSTR(byte* value) { Value = value; } internal unsafe PSTR(IntPtr value) { this = new PSTR((byte*)(long)value); } public unsafe static implicit operator byte*(PSTR value) { return value.Value; } public unsafe static implicit operator PSTR(byte* value) { return new PSTR(value); } public unsafe static bool operator ==(PSTR left, PSTR right) { return left.Value == right.Value; } public static bool operator !=(PSTR left, PSTR right) { return !(left == right); } public unsafe bool Equals(PSTR other) { return Value == other.Value; } public override bool Equals(object obj) { if (obj is PSTR) { PSTR other = (PSTR)obj; return Equals(other); } return false; } public unsafe override int GetHashCode() { return (int)Value; } public unsafe override string ToString() { return new PCSTR(Value).ToString(); } public unsafe static implicit operator PCSTR(PSTR value) { return new PCSTR(value.Value); } internal unsafe Span<byte> AsSpan() { if (Value != null) return new Span<byte>(Value, Length); return default(Span<byte>); } } }