public static unsafe string GetActiveAttrib(uint program, uint attributeIndex, out int attributeSize, out ActiveAttribType attributeType) { int[] length = new int[1]; int[] size = new int[1]; StringBuilder result = new StringBuilder(); ActiveAttribType[] type = new ActiveAttribType[1]; fixed(int *lenPtr = &length[0]) fixed(ActiveAttribType * typePtr = &type[0]) { GLCore.GetActiveAttrib(program, attributeIndex, 1024, lenPtr, size, (IntPtr)typePtr, result); } attributeSize = size[0]; attributeType = type[0]; return(result.ToString()); }