Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
ВнизСортированность объектов, возвращаемых NtQueryDirectoryFile. Найти похожие ветки
← →
Riply © (2007-11-17 14:39) [0]Здравствуйте !
Эксперименты (их было довольно много) показывают, что
NtQueryDirectoryFile при вызове с параметрами:
FileDirectoryInformation, ReturnSingleEntry = False и RestartScan = True,
возвращает объекты, уже отсортированные по имени. (даже если возвращены не все)
Является ли это правилом, на котором можно строить расчет, или
когда луна окажется в созвездии Юпитера, порядок может быть нарушен ?
:)
← →
engine © (2007-11-17 15:48) [1]Подсказать не могу, но есть у меня ссылочка, может там найдешь ответ на свой вопрос:
ntinternals.net
← →
Riply © (2007-11-17 16:23) [2]> [1] engine © (17.11.07 15:48)
> Подсказать не могу, но есть у меня ссылочка,
> может там найдешь ответ на свой вопрос: ntinternals.net
Спасибо.
К сожалению, там я смогла найти только "общую" информацию. :(
← →
guav © (2007-11-17 16:24) [3]> Эксперименты (их было довольно много) показывают,
Ограничивались ли они чисто NTFS ?
Мне кажется, что это специфика NTFS, где папки это файлы содержашие индексы по именам содержащихся в них файлов. На FAT, где папки - это файлы, содержащие сами записи о папках и файлах, я думаю это вернёт записи в порядке расположения записей (этот порядок не определён, более того, фактическая реализация его различна в разных системах). Ну и у других ФС возможно будет своя специфика.
Может стоит пренеберчь оверхедом на сортировку ? Уже отсортированный список - идеальный для QuickSort случай. Само сравнине имён чисто uppercase-посимвольное, и потому тоже не очень медленное. Имхо самое затратное тут - само чтение объектов с диска.
PS: Я бы советовал RTFM http://msdn2.microsoft.com/en-us/library/ms801001.aspx и никакой "отсебятины".
← →
Riply © (2007-11-17 16:38) [4]> [3] guav © (17.11.07 16:24)
> Ограничивались ли они чисто NTFS ?
Пока да. Вечером смогу проверить на FAT32 (правда она мне не очень интересна :).
> Может стоит пренеберчь оверхедом на сортировку ? Уже отсортированный список - идеальный для QuickSort случай.
> Само сравнине имён чисто uppercase-посимвольное, и потому тоже не очень медленное.
Нверное, ты прав. Будем сортировать. Правда было бы очень заманчиво считать,
что уже отсортировано, особенно, когда получаешь только часть объектов из-за нехватки буфера
(может статься, что следующий вызов и не понадобиться :).
> PS: Я бы советовал RTFM http://msdn2.microsoft.com/en-us/library/ms801001.aspx
Там я начинала знакомство с этой ф-ией :)
> и никакой "отсебятины".
Это как это "никакой отсебятины" ? Инициативу душим в корне ? :)
← →
guav © (2007-11-17 16:54) [5]> [4] Riply © (17.11.07 16:38)
> (правда она мне не очень интересна :).
Тогда твой вопрос есть вопрос о реализации этой ф-ции драйвером NTFS и не пытайся искать ответ в информации о NtQueryDirectoryFile вообще. Что именно искать и где искать я не скажу, я не знаю, как работают подключаемые драйверы файловых систем. Но подозреваю что у тебя всего два варианта: 1. NtQueryDirectoryFile + отладчик. 2. Глянуть как там в ReactOS (но потом обязательно проверить через вариант 1 :)
← →
Riply © (2007-11-17 17:04) [6]> [5] guav © (17.11.07 16:54)
> 2. Глянуть как там в ReactOS (но потом обязательно проверить через вариант 1 :)
Да уж. После той истории с RemoveDirectory, мое мнение о ReactOS,
как о палочке-выручалочке, сильно пошатнулось :)
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.12.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.048 c