/// <inheritdoc cref="GetStringList(Silk.NET.OpenAL.Device*,GetCaptureContextStringList)" />
        public IEnumerable <string> GetStringList(GetCaptureContextStringList param)
        {
            unsafe
            {
                var result = GetStringList(null, param);
                if (result == (char *)0)
                {
                    return(new List <string>());
                }

                var strings = new List <string>();

                var currentPos = result;
                while (true)
                {
                    var currentString = Marshal.PtrToStringAnsi(new IntPtr(currentPos));
                    if (string.IsNullOrEmpty(currentString))
                    {
                        break;
                    }

                    strings.Add(currentString);
                    currentPos += currentString.Length + 1;
                }

                return(strings);
            }
        }
 /// <inheritdoc />
 public abstract unsafe char *GetStringList(Device *device, GetCaptureContextStringList param);
Exemplo n.º 3
0
 public unsafe partial byte *GetStringList(Device *device, GetCaptureContextStringList param);