Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске - C#

Узнай цену своей работы

Формулировка задачи:

нужна помощь с реализацией второй апи функции GetDiskFreeSpace. Первую смог составить а по второй даже не могу найти инфы по её синтаксису. Помогите плиз доделать. буду рад если и ссылочку дадите, если такая найдётся, с примером написания этой апи функции в С#.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Windows.Forms;
  9. using System.Runtime.InteropServices;
  10. namespace WindowsFormsApplication1
  11. {
  12. public struct SYSTEMTIME
  13. {
  14. public ushort wYear;
  15. public ushort wMonth;
  16. public ushort wDayOfWeek;
  17. public ushort wDay;
  18. public ushort wHour;
  19. public ushort wMinute;
  20. public ushort wSecond;
  21. public ushort wMilliseconds;
  22. }
  23. public struct BPS
  24. {
  25. public ushort wlpRootPathName; //Корневой каталог диска, например "c:" или "a:"
  26. public ushort wlpSectorsPerCluster; //Число секторов в кластере
  27. public ushort wlpBytesPerSector; //Число байт в секторе
  28. public ushort wlpNumberOfFreeClusters; // Число свободных кластеров
  29. public ushort wlpTotalNumberOfClusters; //Общее число кластеров
  30. }
  31. public partial class Form1 : Form
  32. {
  33. [DllImport("kernel32.dll")]
  34. public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
  35. public extern static void GetDiskFreeSpace(ref BPS lpRootPathName,out int lpSectorsPerCluster,
  36. out int lpBytesPerSector,out int lpNumberOfFreeClusters,out int lpTotalNumberOfClusters);
  37. public Form1()
  38. {
  39. InitializeComponent();
  40. }
  41. private void textBox1_TextChanged_1(object sender, EventArgs e)
  42. {
  43. ulong size = 256;
  44. SYSTEMTIME stime = new SYSTEMTIME();
  45. BPS bps = new BPS();
  46. }
  47. private void button1_Click(object sender, EventArgs e)
  48. {
  49. ulong size = 256;
  50. SYSTEMTIME stime = new SYSTEMTIME();
  51. GetSystemTime(ref stime);
  52. BPS bps = new BPS();
  53. GetDiskFreeSpace(ref bps);
  54. textBox1.Text = stime.wMonth.ToString() + " Месяц"+ bps.wlpBytesPerSector.ToString();
  55. }
  56. private void Form1_Load(object sender, EventArgs e)
  57. {
  58. }
  59. }
  60. }

Решение задачи: «Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске»

textual
Листинг программы
  1. [DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
  2. static extern bool GetDiskFreeSpace(string lpRootPathName,
  3.    out uint lpSectorsPerCluster,
  4.    out uint lpBytesPerSector,
  5.    out uint lpNumberOfFreeClusters,
  6.    out uint lpTotalNumberOfClusters);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы