Здравствуйте, Sinclair, Вы писали:
S>Продолжаю непонимать, что мешает открыть хэндл на "таблицу FAT", и каким образом процесс может получить к ней доступ иначе, чем через handle.
Еще раз объясняю. Она не файл, и доступ к ней идет в ядре как-то иначе.
Кстати, процесс к ней доступа не получает — не хватает только, чтобы он мог в ней что-то делать. Доступ имеет только драйвер.
Впрочем, можно открыть весь логический диск — CreateFile с именем файла "\.\X". Но откроется не FAT, а логический диск целиком.
PD>>С каталогами сложнее. Строго говоря, даже в NTFS хендл на каталоги получить нельзя, разве что для backup операций. S>Ну, не совсем для backup. Например, для получения нотификаций об изменениях ФС. Именно для этого explorer и FAR получают хэндлы, а вовсе не для каких-то backup операций S>Кроме этого, есть ещё и отдельный нюанс в трактовке термина "получить". S>Получить прямо сам хэндл, чтобы его пощупать — это одно. S>А вот захватить, хоть и не напрямую, можно безо всякого backup semantics. Достаточно вызвать FindFirstFile/FindFirstFileEx.
S>Там опять какие-то нерелевантные рассуждения вместо попытки подумать головой.
Ну для тебя нерелевантные, твое дело.
И Антон, кончай пытаться меня обидеть. Не получится. Я еще 20 лет назад решил ни на какие твои эскапады не обижаться
With best regards
Pavel Dvorkin
Re[9]: Когда же винда научится извлекать устройства?
Здравствуйте, Sinclair, Вы писали:
S>Вот ты сейчас находишься на шаге 0, и с усердием неофита топишь за то, чтобы дальше никуда не двигаться.
Не, больше похоже на то, что ты ради миски холодца всю свинью собираешься заколоть.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Когда же винда научится извлекать устройства?
Здравствуйте, Sinclair, Вы писали:
PD>>Для таблицы FAT точно никаких хендлов быть не может. А ее драйвер "открывает", то есть получает доступ к ней. S>Продолжаю непонимать, что мешает открыть хэндл на "таблицу FAT"
Как ты себе вообще это представляешь?
S> и каким образом процесс может получить к ней доступ иначе, чем через handle.
Процесс к ней никак не получает доступ, этим всем рулит драйвер файловой системы, который ходит к данным в нужный partition через ядерные объекты, а не файловые handles.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: Когда же винда научится извлекать устройства?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Я бы не стал говорить о загнивании Windows
В сравнении с тем, как хорошо была вылизана 7ка после неё пошло скатывание в "сраное говно" (tm)
8ка был мрак
10ка только к моменту когда они начали пилить 11 и всё новомодное говно полилость туда а от 10 эти хипстеры отстали — стала условно съедобна, но и то только после доработки рашпилем.
11я полна вши, червия, ну и классических чертей со спины.
PD>Но дальше ее настигла судьба...
Ну т.е. ты со мной по сути согласился
PD>Радикальное решение — написать заново с нуля, пожертвовав некоторыми устаревшими возможностями и сделав более логичную систему.
Радикальное решение — не "чинить" то, что не сломано.
Выкинуть к чертям собачьим метро, причём целиком и полностью, вернуть и enforce OS UX guidelines для своего же софта, а то там у них внутри каждый дрочит как хочет, и потому образуется бардак.
PD> Примерно так, как когда-то заменяли 9x на NT. Не спеша и не суетясь. Вначале создать рабочий прототип (вроде NT 3.1 — 4.0), но с четкой архитектурой, потом выверенно добавлять к нему возможности, пускать все это в ограниченное использование (как 2000, которая, если помнишь, не была рассчитана на конечного юзера), и когда-нибудь новая система заменит Windows 15
Для этого надо люди с нормальным инженерным mindset а не нынешняя хипстота
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Pavel Dvorkin, Вы писали: PD>Стоп — это его окончание. Не все сервисы можно останавливать. А те, которые можно, еще вопрос, стоит ли. Ты хочешь удалить флешку, а в итоге перестанет работать БД, с которой сейчас идет интенсивная работа.
Как перестанет — так и обратно начнёт. Нормальную БД даже вырубанием питания не сломаешь, а уж если её вежливо попросили остановиться — то тем более. PD>А на паузу он может не реагировать или реагировать неправильно , то есть не освободив хендлы. Что потом делать ?
Чинить сервис.
S>>Надо думать о том, как улучшить жизнь пользователя.
PD>Надо. Вот с этим согласен. Но очень осторожно.
PD>Ответил сегодня в другом сообщении.
PD>Именно. Возможности такие представляются. Но для того, чтобы ими воспользоваться, надо иметь соответствующую квалификацию.
Не столько квалификацию, сколько упорство.
PD>Зачем они так сделали ? А все из тех же соображений. Увидит неграмотный юзер эту вкладку, ну и из любопытства изменит разрешения на system32, скажем. Что дальше будет — сам понимаешь.
PD>Вот поэтому и такое промежуточное решение. root поставить можно, но для неграмотного юзера это почти невозможная задача. А уж если он достаточно продвинут — поставить сможет, но должен понимать, что берет ответственность на себя.
Ну вот в iOS и вовсе рута нет. Но у него нет и идиотских ограничений вроде "не дам отмонтировать флешку".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Когда же винда научится извлекать устройства?
Здравствуйте, Pavel Dvorkin, Вы писали: PD>Еще раз объясняю. Она не файл, и доступ к ней идет в ядре как-то иначе.
Что там в ядре — дело ядра. Пользовательский процесс не может ничего сделать с устройствами иначе, как через хэндл.
PD>Впрочем, можно открыть весь логический диск — CreateFile с именем файла "\.\X". Но откроется не FAT, а логический диск целиком.
Всё верно. И на NTFS ты по отдельности их журналы "открыть" не сможешь.
PD>В обоих случаях неявно получают хендл на каталог.
Всё верно. В чём вопрос-то тогда?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Когда же винда научится извлекать устройства?
На эмоциональную часть отвечать не буду. Тут у каждого свои взгляды
CC>В сравнении с тем, как хорошо была вылизана 7ка после неё пошло скатывание в "сраное говно" (tm) CC>8ка был мрак
+100.
CC>10ка только к моменту когда они начали пилить 11 и всё новомодное говно полилость туда а от 10 эти хипстеры отстали — стала условно съедобна, но и то только после доработки рашпилем. CC>11я полна вши, червйя, ну и классических чертей со спины.
Я пока особых проблем с 11 не имею. На десктопе у меня 10, он старый и 11 поставить я смог только под VirtualBox, но не пользуюсь ей. На ноуте 11. Некоторые мелочи раздражают, вроде отсутствия малых иконок на таскбаре, но не то чтобы очень. Все лето работал только с ней на даче, в целом без проблем.
PD>>Но дальше ее настигла судьба... CC>Ну т.е. ты со мной по сути согласился
Во многом да.
PD>>Радикальное решение — написать заново с нуля, пожертвовав некоторыми устаревшими возможностями и сделав более логичную систему. CC>Радикальное решение — не "чинить" то, что не сломано.
Я не вижу, что именно чинили — из того, что не сломано. Убрать меню Start в 8 — это была, конечно, явная ошибка, ну так исправили, вернули.
Изменения по мелочам — всегда найдется кто-то, кому это не понравится. Привыкнут и через несколько лет будет ясно, что только так и должно быть.
CC>Выкинуть к чертям собачьим метро, причём целиком и полностью, вернуть и enforce OS UX guidelines для своего же софта, а то там у них внутри каждый дрочит как хочет, и потому образуется бардак.
Э, как его выкинуть-то сейчас ? Там же новый слой API добавлен. Вот, например
И программ, которые используют этот несчастный UI, не так мало, хотя, слава богу, тотального перехода на него не произошло. А ведь замышлялялся. Но поняла MS, что получилось что-то не то и дала, в общем, задний ход. Но убрать совсем — уже нереально.
PD>> Примерно так, как когда-то заменяли 9x на NT. Не спеша и не суетясь. Вначале создать рабочий прототип (вроде NT 3.1 — 4.0), но с четкой архитектурой, потом выверенно добавлять к нему возможности, пускать все это в ограниченное использование (как 2000, которая, если помнишь, не была рассчитана на конечного юзера), и когда-нибудь новая система заменит Windows 15 CC>Для этого надо люди с нормальным инженерным mindset а не нынешняя хипстота
Я все же не столь мрачно настроен. Если бы MS захотела такое сделать — нашла бы нового Дэвида Кэтлера. И команду бы собрала. Ресурсов у нее немеряно, могли бы лучшие силы собрать.
With best regards
Pavel Dvorkin
Re[14]: Когда же винда научится извлекать устройства?
Здравствуйте, CreatorCray, Вы писали: CC>Процесс к ней никак не получает доступ, этим всем рулит драйвер файловой системы, который ходит к данным в нужный partition через ядерные объекты, а не файловые handles.
Ну так на нет и суда нет.
Или ты имеешь в виду, что unmount диска может быть заблокирован какими-то объектами на уровне драйвера, при этом никаких хэндлов на уровне процессов нет?
Ну... Может быть, я в низкоуровневом программировании не спец.
Но тогда это тем более повод для доработки на уровне ОС, а не на уровне "запускайте Руссиновича".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Когда же винда научится извлекать устройства?
Не сможешь ты прекратить дискуссию
S>Здравствуйте, Pavel Dvorkin, Вы писали: PD>>Еще раз объясняю. Она не файл, и доступ к ней идет в ядре как-то иначе. S>Что там в ядре — дело ядра. Пользовательский процесс не может ничего сделать с устройствами иначе, как через хэндл.
Пользовательский процесс не может работать с FAT, я же уже объяснил. И хендлов на FAT не существует.
Я не понимаю, зачем ты тут упорствуешь. Ну не веришь мне — имеешь право, в конце концов. Ну так поищи что-то про хендлы на FAT. Найдешь — дай ссылку, посмотрю.
PD>>Впрочем, можно открыть весь логический диск — CreateFile с именем файла "\.\X". Но откроется не FAT, а логический диск целиком. S>Всё верно. И на NTFS ты по отдельности их журналы "открыть" не сможешь.
Верно. Но в NTFS эти журналы (а точнее, все метафайлы тома) — это все же файлы. Даже boot sector это тоже файл. (В FAT он тоже не файл и хендл на него получить нельзя по той же причине).
Процесс 3 кольца простым способом доступ к ним иметь не может. Ядро может.
В дополнение к MFT на каждом NTFS-томе имеется набор файлов метаданных с не-
обходимой для реализации структуры файловой системы информацией. Имена всех
файлов с метаданными начинаются со знака доллара ($) и являются скрытыми. К при-
меру, имя файла для MFT — $MFT. Остальные файлы NTFS-тома являются обычными
файлами и папками, как показано на рис. 12.27.
Соломон — Руссинович.
With best regards
Pavel Dvorkin
Re[6]: Когда же винда научится извлекать устройства?
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Убрать меню Start в 8 — это была, конечно, явная ошибка, ну так исправили, вернули.
Так исправили что есть ажно цельный отдельный сторонний и довольно популярный проект Classic Start Menu, который таки "и исправляет и возвращает", а не "вот это вот всё"
PD>Э, как его выкинуть-то сейчас?
Признать тупиком и задепрекейтить, в след версии сделать опциональным, потом убрать совсем.
PD>https://learn.microsoft.com/ru-ru/windows/win32/api/fileapi/nf-fileapi-createfile2
Этож не метрошный API
PD>Я все же не столь мрачно настроен.
Увы, чем больше я узнаю подкапотный подробностей тем мрачнее становлюсь.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Sinclair, Вы писали:
S>Посылаю очередной луч позора в Редмонд. S>Начиная примерно с восьмёрки, пацаны занимаются какой-то хернёй, решая несуществующие проблемы. S>Когда они уже научатся нормально извлекать устройства?
У меня обычно этому препятствует RDP сеанс, в котором разрешено подключение дисков.
Re[7]: Когда же винда научится извлекать устройства?
Здравствуйте, CreatorCray, Вы писали:
CC>Так исправили что есть ажно цельный отдельный сторонний и довольно популярный проект Classic Start Menu, который таки "и исправляет и возвращает", а не "вот это вот всё"
Да меня и это устраивает. Убрал все лишнее, сойдет.
PD>>Э, как его выкинуть-то сейчас? CC>Признать тупиком и задепрекейтить, в след версии сделать опциональным, потом убрать совсем.
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]
То есть в классических можно, но можно и в UWP. А вот CreateFile в UWP нельзя.
Минимальная версия клиента Windows XP [только классические приложения]
PD>>Я все же не столь мрачно настроен. CC>Увы, чем больше я узнаю подкапотный подробностей тем мрачнее становлюсь.
With best regards
Pavel Dvorkin
Re[5]: Когда же винда научится извлекать устройства?
Здравствуйте, CreatorCray, Вы писали:
CC>В сравнении с тем, как хорошо была вылизана 7ка после неё пошло скатывание в "сраное говно" (tm) CC>8ка был мрак CC>10ка только к моменту когда они начали пилить 11 и всё новомодное говно полилость туда а от 10 эти хипстеры отстали — стала условно съедобна, но и то только после доработки рашпилем. CC>11я полна вши, червйя, ну и классических чертей со спины.
"...усеницы, мошь, вша красная, вша жолтая, и иные всякие твари, и несли гробы повапленные со свещами унутри, и черепа, и трептогубия, и пели срамные кощуны"
Вы в ЖЖ были?
Re[3]: Когда же винда научится извлекать устройства?
Здравствуйте, alpha21264, Вы писали:
A>Здравствуйте, Константин Б., Вы писали:
КБ>>А если бы пользовался еще чем-нибудь другим то возможно бы знал что проблема не специфична для винды.
A>Эээ... Ну вот я пользуюсь Линуксом. Там нет такой проблемы A>Ну то есть ты можешь держать флешку, если какой-то конкретной программой (например редактором) открыл файл на флешке. A>Но редактор закрыл, — флешка отмонтировалась. A>Так чтобы ОС сама неизвестно почему держала флешку — нет такого.
А что значит неизвестно? Вот где-то у тебя забытая консоль с башем с текущей папокй на флэшке — это неизвестно?
Линукс тебе скажет device is busy. Никакого списка приложений он тебе не предложит.
Re[5]: Когда же винда научится извлекать устройства?
Здравствуйте, Sinclair, Вы писали:
КБ>>Если ты действительно пользовался виндой столько времени сколько утверждаешь то не может быть что не сталкивался с тем что shutdown тоже не срабатывает. S>Простите, это аргумент в пользу чего?
Это аргумент против "что раз с шатдауном все работает, значит и с эджектом должно". Во первых не работает, во вторых не понятно какая свзяь между первым и вторым.
Re[11]: Когда же винда научится извлекать устройства?
Здравствуйте, mike_rs, Вы писали:
_>Все верно, но тут речь о том, что теперь встроенные системные сервисы этот бейджик не получили и не смогут, ибо не выполняют требований. И за это поделие МС берет с нас деньги.
На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится.
Re[12]: Когда же винда научится извлекать устройства?
Здравствуйте, Константин Б., Вы писали: КБ>На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится.
Это был WSL2 с его automount.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Когда же винда научится извлекать устройства?
Здравствуйте, alexsmirnoff, Вы писали:
S>>Когда они уже научатся нормально извлекать устройства?
Кстати, какая ФС на флешке? На съемных носителях нужно использовать Fat/exFat, т.к. ntfs категорически не умеет отмонтироваться на лету, держит кучу хендлов в самом драйвере.
Re[13]: Когда же винда научится извлекать устройства?
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Константин Б., Вы писали: КБ>>На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится. S>Это был WSL2 с его automount.
Здорово. Давай сопоставим с отригинальными гипотезами. Что из этого оказалось верным?
пацаны занимаются какой-то хернёй, решая несуществующие проблемы.
или пристрели его по-плохому.
понятно, что это какой-то из твоих же многочисленных говносервисов, который то ли там сканирует диск от вирусов, то ли индексирует картинки — в общем, ничем полезным не занимается, а только тратит мою батарейку.
все "пользовательские программы", которые могли на мой внешний диск смотреть, закрыл первым делом ещё до того, как задуматься об извлечении устройства.
В WSL багов безусловно море, но сам по себе он не запускается. Он даже не установлен по дефолту. Его запустил ты для каких-то нужных тебе задач.
Re[3]: Когда же винда научится извлекать устройства?
_>Кстати, какая ФС на флешке? На съемных носителях нужно использовать Fat/exFat, т.к. ntfs категорически не умеет отмонтироваться на лету, держит кучу хендлов в самом драйвере.
ТС писал уже — exFAT.
Про NTFS сомнительно. Я как раз эксперименты проводил с NTFS: safely remove отрабатывал при закрытии условного нотепада. Правда, то было на VM и ОС старая (NT 6.0). Возможно нужны какие-то доп. условия.