Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi

Войти
Регистрация
Восстановить пароль
 
Att
#1

кластеры файла - Delphi

13.05.2007, 18:10. Просмотров 1887. Ответов 2
Метки нет (Все метки)

Здравствуйте господа, я нид хелп

Нужно вывести информацию о кластерах файла. Т.е. файл = последовательность занимаемых им кластеров на винте. Используя api функции.

Как понимаю нужно использовать DeviceIoControl, но что то не получается особо. Подскажите пожалуйста что не так.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2007, 18:10
Здравствуйте! Я подобрал для вас темы с ответами на вопрос кластеры файла (Delphi):

Вычислительные кластеры - Windows Server
Доброе время суток. Появилась такая идея собрать пару компьютеров в вычислительный кластер. В этой теме новечек практики не было только...

Кластеры и увеличение производительности - Oracle
Всем привет. Вычитал, что использование кластеров в таблицах, где часто делаются объединение, повышает производительность. Создал кластер,...

Проверка харда на битые кластеры - Жесткие диски
помогите какой прогой можно проверить хард на битые кластеры и вообще на ошибки!!!!

Идея собирать узлы в кластеры во время простоя машины - C++
Я тут поимел такую идею, смысл которой в следующем: Во время простоя машины (по существу после того как машина залочена) обычно это...

Вывести начальные кластеры всех файлов указанного каталога - Assembler
Помогите, не могу, понять сути задания, и, собственно, как его делать. Задание: Вывести начальные кластеры всех файлов указанного...

FAT, секторы, кластеры чтение и работа со всем этим через C++ Builder - C++ Builder
Стоит задача написать программу извлекающую секторы диска, информацию о FAT и саму FAT. Создаю одну тему под таким обширным названием,...

2
Att
13.05.2007, 18:11 #2
Delphi
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;
 
  Const
   FSCTL_GET_RETRIEVAL_POINTERS=$90073;
    type
 
 RETRIEVAL_POINTERS_BUFFER =
  Record
   ExtentCount1:dword;
   LARGE_INTEGER1:int64;
   LARGE_INTEGER2:int64;
   LARGE_INTEGER3:int64;
  End;
 
  _STARTING_LCN_INPUT_BUFFER =
  Record
    StartingLcn : int64;
  End;
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
 
Var
  hVolume : THandle;
  BitmapStartLcn : _STARTING_LCN_INPUT_BUFFER;
 
 
  cbret      : cardinal;
  zIndex, mIndex : integer;
   i:integer;
 
  rpb:RETRIEVAL_POINTERS_BUFFER;
  bol1:longbool;
implementation
 
{$R *.dfm}
 {$APPTYPE CONSOLE}
 
BEGIN
    bol1:=true;
 
    hVolume:= CreateFile( '\\.\c:\1.txt', GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
    if hVolume=INVALID_HANDLE_VALUE then writeln('Error c:\100.txt');
 
       BitmapStartLcn.StartingLcn:=0;
      repeat
 
        inc(i);
 
   bol1:= DeviceIoControl( hVolume, FSCTL_GET_RETRIEVAL_POINTERS,
    @BitmapStartLcn , 8, @rpb, sizeof(rpb), cbret, nil);
 
     Writeln('bol1:='+inttostr(ord(bol1))+'    '+inttostr(cbret)+'  '+
     inttostr(rpb.ExtentCount1)+'    '+inttostr(rpb.LARGE_INTEGER1)+'    '+inttostr(rpb.LARGE_INTEGER2)
     +'    '+inttostr(rpb.LARGE_INTEGER3)+'  '+ inttostr(BitmapStartLcn.StartingLcn));
 
     BitmapStartLcn.StartingLcn:=BitmapStartLcn.StartingLcn+1;
     until BitmapStartLcn.StartingLcn=32;
end.
SergioRZN
135 / 29 / 2
Регистрация: 21.03.2010
Сообщений: 151
23.03.2010, 14:08 #3
Что то постоянно выдает 0 0 0 0 0 31, и больше ничего и никак...не очень хочет нормально работать
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.03.2010, 14:08
Привет! Вот еще темы с ответами:

Обьясните термины SEO: перепродажа траффика,кластеры запросов,семантика,посадочные страницы - SEO
Проработка нового проекта http://www.example.com. Посвящен обзорам live casino. Монетизация - перепродажа траффика. Приводим...

Портиться инфа на флешке! На флешке винда находит битые кластеры! - Flash-память
Записываю на работе на флешку проект и контрольные суммы (MD5) его файлов. Прихожу домой через 2 часа. Открываю флешку. Проверяю MD5....

Даны два текстовых файла. Добавить в начало первого файла содержимое второго файла - C#
Даны два текстовых файла. Добавить в начало первого файла содержимое второго файла

Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла - C#
Даны два текстовых файла. Добавить в конец первого файла содержимое второго файла.


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru