Пример #1
0
        public static unsafe IList <string> GetString(IntPtr device, AlcGetStringList param)
        {
            List <string> list   = new List <string>();
            byte *        numPtr = (byte *)Alc.GetStringPrivate(device, (AlcGetString)param).ToPointer();

            for (string str = Marshal.PtrToStringAnsi(new IntPtr((void *)numPtr)); !string.IsNullOrEmpty(str); str = Marshal.PtrToStringAnsi(new IntPtr((void *)numPtr)))
            {
                list.Add(str);
                numPtr += str.Length + 1;
            }
            return((IList <string>)list);
        }
Пример #2
0
 public static string GetString(IntPtr device, AlcGetString param)
 {
     return(Marshal.PtrToStringAnsi(Alc.GetStringPrivate(device, param)));
 }