public static int?CursorGetInt(HDFqlCursor cursor) { IntPtr pointer = HDFqlPINVOKE.CursorGetInt(HDFqlCursor.getCPtr(cursor)); if (pointer == IntPtr.Zero) { return(null); } else { int [] value = new int[1]; Marshal.Copy(pointer, value, 0, 1); return(value[0]); } }