Что должна возвращать функция GetDriveType()? - C#
Формулировка задачи:
Функция возвращает число 3, разве не должна возвращать тип диска в виде:
DRIVE_UNKNOWN // неизвестен
DRIVE_NO_ROOT_DIR // нет :-(((
DRIVE_REMOVABLE // извлекаемый диск
DRIVE_FIXED // нормальный жесткий диск
DRIVE_REMOTE // удаленный, т.е. сетевой
DRIVE_CDROM // СD ROM
DRIVE_RAMDISK // В оперативной памяти
using System;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace OS
{
public partial class Form1 : Form
{
[DllImport("Kernel32.dll", EntryPoint = "GetDriveType")]
private static extern int GetDriveType(String lpRootPathName);
public Form1()
{
InitializeComponent();
String dt = GetDriveType("D:\").ToString();
textBox1.Text = dt;
}
}
}Решение задачи: «Что должна возвращать функция GetDriveType()?»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace ConsoleApplication1
{
class Program
{
[DllImport("Kernel32.dll", SetLastError = true, CharSet = CharSet.Auto)]
[return: MarshalAs(UnmanagedType.Bool)]
static extern bool GetDiskFreeSpaceEx(string lpDirectoryName,
out ulong lpFreeBytesAvailable,
out ulong lpTotalNumberOfBytes,
out ulong lpTotalNumberOfFreeBytes);
static void Main(string[] args)
{
ulong FreeBytesAvailable;
ulong TotalNumberOfBytes;
ulong TotalNumberOfFreeBytes;
bool success = GetDiskFreeSpaceEx("C:", out FreeBytesAvailable, out
TotalNumberOfBytes, out TotalNumberOfFreeBytes);
Console.WriteLine("Success: " + success);
Console.WriteLine("Free Bytes Available: {0,15:D}", FreeBytesAvailable);
Console.WriteLine("Total Number Of Bytes: {0,15:D}", TotalNumberOfBytes);
Console.WriteLine("Total Number Of FreeBytes: {0,15:D}", TotalNumberOfFreeBytes);
Console.ReadKey();
}
}
}