Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/13: Рейтинг темы: голосов - 13, средняя оценка - 4.92
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125

Что должна возвращать функция GetDriveType()?

02.11.2015, 21:39. Показов 2701. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Функция возвращает число 3, разве не должна возвращать тип диска в виде:

DRIVE_UNKNOWN // неизвестен
DRIVE_NO_ROOT_DIR // нет :-(((
DRIVE_REMOVABLE // извлекаемый диск
DRIVE_FIXED // нормальный жесткий диск
DRIVE_REMOTE // удаленный, т.е. сетевой
DRIVE_CDROM // СD ROM
DRIVE_RAMDISK // В оперативной памяти

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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; 
        }  
      
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.11.2015, 21:39
Ответы с готовыми решениями:

Каждая ветвь должна возвращать значение
Здравствуйте, форумчане. Столкнулся с проблемой: создал функцию возвращающую bool, и принимающую массив и еще пару параметров. Суть ее...

Что должна возвращать функция?
У меня есть задание: Написать функцию поиска LastIndexOf() последнего вхождения произвольной подстроки в строке. Что именно должна...

Функция должна возвращать массив
Здравствуйте, ВСЕ. Такое описание функции не проходит. function FindSubstr(S, Substr: string; Index, Count: integer): array of...

5
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
02.11.2015, 21:48
Лучший ответ Сообщение было отмечено tezaurismosis как решение

Решение

В ответ пришло DRIVE_FIXED.
https://msdn.microsoft.com/ru-... s.85).aspx

Добавлено через 6 минут
Можно так перепилить немного.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
 
 
namespace ConsoleApplication1
{
 
    enum DriveType
    {       
        DRIVE_UNKNOWN = 0,
        DRIVE_NO_ROOT_DIR = 1,
        DRIVE_REMOVABLE = 2,
        DRIVE_FIXED = 3,
        DRIVE_REMOTE = 4,
        DRIVE_CDROM = 5,
        DRIVE_RAMDISK = 6
    };
 
    class Program
    {
 
        [DllImport("Kernel32.dll", EntryPoint = "GetDriveType")]
        private static extern DriveType GetDriveType(String lpRootPathName);
        
        static void Main(string[] args)
        {
 
            Console.WriteLine(GetDriveType(@"D:"));
 
            Console.ReadKey();
 
        }
    }
}
0
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
02.11.2015, 22:32  [ТС]
Интересует функция GetDiskFreeSpaceEx
Добавил в начало:
C#
1
2
 private static extern bool GetDiskFreeSpaceEx(String lpDirectoryName, int lpFreeBytesAvailable, int lpTotalNumberOfBytes,    int lpTotalNumberOfFreeBytes
                                                     );
И в основную часть:
C#
1
2
3
 int free=0,z=0,b=0;
            GetDiskFreeSpaceEx("D:\", free, z, b);
            textBox_allSize.Text = free.ToString();
Выводит ноль, в документации сказано, что возвращает или тру или фолс. Вопрос: как из этих данных извлечь собственно то, для чего объявляли эту функцию, т.е. общий обьем диска и количество свободный байт.
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
02.11.2015, 22:48
Лучший ответ Сообщение было отмечено Спайдермэн как решение

Решение

https://msdn.microsoft.com/ru-... s.85).aspx
Первый параметр In, остальные Out - ни о чем не говорит?
И для отдельного вопроса следует создавать отдельную тему.

Добавлено через 11 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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();
        }
        
 
    }
}
1
0 / 0 / 1
Регистрация: 04.05.2014
Сообщений: 125
02.11.2015, 23:01  [ТС]
С чем может быть связана погрешность результатов?
0
TheGreatCornholio
 Аватар для Woldemar89
1255 / 733 / 285
Регистрация: 30.07.2015
Сообщений: 2,408
02.11.2015, 23:05
Цитата Сообщение от Спайдермэн Посмотреть сообщение
С чем может быть связана погрешность результатов?
Без понятия, у меня все четко байт в байт(вывод как в свойствах диска).
Ты бы скрины привел или типа того, откуда мне знать, какая у тебя погрешность...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.11.2015, 23:05
Помогаю со студенческими работами здесь

Функция должна возвращать наименьший положительный элемент массива
Помогите, не могу написать этот клочек кода...голова кипит.. Есть постановка задания: Написать функцию (процедуру) с параметрами для...

Функция с типом char, которая должна возвращать интовое значение
Всем привет. Странное дело. Есть функция с типом char, которая должна возвращать интовое значение в виде площади квадрата (так по заданию...

Что должна возвращать WndProc?
Доброго вечера, в общем, хочу сделать действие, при нажатии кнопки. LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam,...

Clojure Функция должна возвращать список с элементами, перечисленными в обратном порядке
Функция должна возвращать список с элементами, перечисленными в обратном порядке.

Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию
Функция должна возвращать указатель на первый элемент массива,удовлетворяющий условию(в данном случае используется указатель на бинарный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Номеклатура. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru