internal static FileSystemUsage NativeGet(Hyperic.Sigar.Sigar sigar, string dirname) { Type type = typeof(FileSystemUsage); IntPtr num = Marshal.AllocHGlobal(Marshal.SizeOf(type)); int errno = FileSystemUsage.sigar_file_system_usage_get(sigar.sigar.Handle, dirname, num); if (errno != 0) { Marshal.FreeHGlobal(num); throw Hyperic.Sigar.Sigar.FindException(sigar, errno); } FileSystemUsage structure = (FileSystemUsage)Marshal.PtrToStructure(num, type); Marshal.FreeHGlobal(num); return(structure); }
internal static FileSystemUsage NativeGet(Sigar sigar, string dirname) { Type type = typeof(FileSystemUsage); IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(type)); int status = sigar_file_system_usage_get(sigar.sigar.Handle, dirname, ptr); if (status != Sigar.OK) { Marshal.FreeHGlobal(ptr); throw Sigar.FindException(sigar, status); } FileSystemUsage fsusage = (FileSystemUsage)Marshal.PtrToStructure(ptr, type); Marshal.FreeHGlobal(ptr); return(fsusage); }