public static int GetInteger(IntPtr device, AlcGetIntegerName iname)
        {
            int retVal;

            unsafe { Delegates.GetIntegerv(device, iname, sizeof(int), &retVal); }
            return(retVal);
        }
 public static void GetInteger(IntPtr device, AlcGetIntegerName iname, [OutAttribute] out int int_val)
 {
     unsafe
     {
         fixed(int *ptr = &int_val)
         {
             Delegates.GetIntegerv(device, iname, sizeof(int), (int *)ptr);
         }
     }
 }
 /// <summary>
 /// Receives integer information for a specific device
 /// </summary>
 /// <param name="device">Device handle</param>
 /// <param name="pname">Parameter name constant</param>
 /// <param name="params">Array to be filled with integer values</param>
 public static void GetInteger(IntPtr device, AlcGetIntegerName iname, int max_count, [OutAttribute] int[] int_array)
 {
     unsafe
     {
         fixed(int *ptr = int_array)
         {
             Delegates.GetIntegerv(device, iname, max_count * sizeof(int), (int *)ptr);
         }
     }
 }
 public static unsafe void GetInteger(IntPtr device, AlcGetIntegerName iname, int size, [OutAttribute] int *int_ptr)
 {
     Delegates.GetIntegerv(device, iname, size, (int *)int_ptr);
 }