public unsafe bool MoveNext() { IntPtr output; var hasNext = _impl.Next(1, new IntPtr(&output), out var fetched).Success; Current = hasNext && fetched == 1 ? Marshal.PtrToStringUni(output) : null; return(hasNext); }
public bool MoveNext() { unsafe { var output = new string[1]; int count = 0; var hasNext = enumString.Next(1, output, new IntPtr(&count)) == Result.Ok.Code; current = hasNext ? output[0] : null; return(hasNext); } }