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