Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Физическое расположение файлов на диске 
V
    Опции темы
Ryan5
Дата 26.4.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Можно ли с помощью C# определить количество жёстких дисков компьютера, количество пластин у каждого, и физическое расположение файлов на них?
PM MAIL   Вверх
jonie
Дата 27.4.2008, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 22
Всего: 118



c# это язык. он не умеет работать с файлами вообще как с сущностью.
однако. всегда можно воспользоваться winapi, как мниимум


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
QryStaL
Дата 27.4.2008, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



Код

    class Program
    {
        static void Main()
        {
            ManagementObjectSearcher mos = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
            foreach (ManagementObject o in mos.Get())
            {
                foreach (PropertyData pd in o.Properties)
                {
                    Console.WriteLine(pd.Name + " : " + pd.Value);
                }
            }
            Console.Read();
        }
    }



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
Ryan5
Дата 27.4.2008, 09:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



QrySta, большое спасибо, то что надо! smile 
PM MAIL   Вверх
Ryan5
Дата 27.4.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Вот возникла ещё такая проблема. В информации о диске нет никаких данных о количестве его пластин. В MSDN ничего про это найти не могу, есть только:
 uint64 TotalCylinders; //всего цилиндров
  uint32 TotalHeads; //всего головок
  uint64 TotalSectors; //всего секторов
  uint64 TotalTracks; //всего дорожек
  uint32 TracksPerCylinder; //дорожек на цилиндре
а про пластины ничего, может у них какое-то специфическое название?


PM MAIL   Вверх
QryStaL
Дата 27.4.2008, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



Platters are rigid disks made of metal or plastic. Both sides of each platter are
covered with a thin layer of iron oxide or other magnetizable material.
• The platters are mounted on a central axle or spindle, which rotates all the platters at
the same speed.
• Read/write heads are mounted on arms that extend over both top and bottom
surfaces of each disk. There is at least one read/write head for each side of each
platter.
 The arms jointly move back and forth between the platters’ centers and
outside edges; this movement, along with the platters’ rotation, allow the read/write
heads to access all areas of the platters.

Исходя из вышесказанного - количество пластин (Platters) = TotalHeads / 2


--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
source777
Дата 27.4.2008, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1878
Регистрация: 12.3.2007

Репутация: 4
Всего: 56



Цитата(QryStaL @  27.4.2008,  13:19 Найти цитируемый пост)
Исходя из вышесказанного - количество пластин (Platters) = TotalHeads / 2 
хотя и не обязательно, данная информация инкапсулирована самим жёстким диском, а его клиенты не должны знать таких подробностей его внутреннего строения... А то вон о том, как узнать собственное поле размагничивания пластин HDD, на MSDN тоже не слова, с чего бы это? smile 




--------------------
Если бы программистам платили за то, чтобы убирать код из программы вместо того, чтобы добавлять его, программы были бы намного лучше © Николас Негропонте
PM MAIL   Вверх
Ryan5
Дата 27.4.2008, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 5.11.2007

Репутация: нет
Всего: нет



Мдаа, действительно, на двух моих дисках количество головок пишется 255, то есть не может быть у винта 127 пластин. В МСДН написано, что это значение "The value may be inaccurate" может быть неточным. Мдя, жаль...
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0551 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.