Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске - C#
Формулировка задачи:
нужна помощь с реализацией второй апи функции GetDiskFreeSpace. Первую смог составить а по второй даже не могу найти инфы по её синтаксису. Помогите плиз доделать. буду рад если и ссылочку дадите, если такая найдётся, с примером написания этой апи функции в С#.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace WindowsFormsApplication1
{
public struct SYSTEMTIME
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}
public struct BPS
{
public ushort wlpRootPathName; //Корневой каталог диска, например "c:" или "a:"
public ushort wlpSectorsPerCluster; //Число секторов в кластере
public ushort wlpBytesPerSector; //Число байт в секторе
public ushort wlpNumberOfFreeClusters; // Число свободных кластеров
public ushort wlpTotalNumberOfClusters; //Общее число кластеров
}
public partial class Form1 : Form
{
[DllImport("kernel32.dll")]
public extern static void GetSystemTime(ref SYSTEMTIME lpSystemTime);
public extern static void GetDiskFreeSpace(ref BPS lpRootPathName,out int lpSectorsPerCluster,
out int lpBytesPerSector,out int lpNumberOfFreeClusters,out int lpTotalNumberOfClusters);
public Form1()
{
InitializeComponent();
}
private void textBox1_TextChanged_1(object sender, EventArgs e)
{
ulong size = 256;
SYSTEMTIME stime = new SYSTEMTIME();
BPS bps = new BPS();
}
private void button1_Click(object sender, EventArgs e)
{
ulong size = 256;
SYSTEMTIME stime = new SYSTEMTIME();
GetSystemTime(ref stime);
BPS bps = new BPS();
GetDiskFreeSpace(ref bps);
textBox1.Text = stime.wMonth.ToString() + " Месяц"+ bps.wlpBytesPerSector.ToString();
}
private void Form1_Load(object sender, EventArgs e)
{
}
}
}Решение задачи: «Функциями GetSystemTime и GetDiskFreeSpace определить текущий месяц и количество байт в секторе на диске»
textual
Листинг программы
[DllImport("kernel32.dll", SetLastError=true, CharSet=CharSet.Auto)]
static extern bool GetDiskFreeSpace(string lpRootPathName,
out uint lpSectorsPerCluster,
out uint lpBytesPerSector,
out uint lpNumberOfFreeClusters,
out uint lpTotalNumberOfClusters);