public static extern herr_t set_mcdt_search_cb (hid_t ocpypl_id, H5O.mcdt_search_cb_t func, IntPtr op_data);
// Callback for H5O.visit and H5O.visit_by_name // We expect an array list as op_data, add the attribute names to the // array list as we go public herr_t DelegateMethod ( hid_t obj, IntPtr name, ref H5O.info_t info, IntPtr op_data ) { GCHandle hnd = (GCHandle)op_data; ArrayList al = (hnd.Target as ArrayList); int len = 0; while (Marshal.ReadByte(name, len) != 0) { ++len; } byte[] name_buf = new byte[len]; Marshal.Copy(name, name_buf, 0, len); al.Add(Encoding.UTF8.GetString(name_buf)); return 0; }
public static extern herr_t get_obj_type (hid_t loc_id, type_t ref_type, IntPtr refer, ref H5O.type_t obj_type);