Re[13]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 05:23
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Продолжаю непонимать, что мешает открыть хэндл на "таблицу FAT", и каким образом процесс может получить к ней доступ иначе, чем через handle.


Еще раз объясняю. Она не файл, и доступ к ней идет в ядре как-то иначе.

Кстати, процесс к ней доступа не получает — не хватает только, чтобы он мог в ней что-то делать. Доступ имеет только драйвер.

Впрочем, можно открыть весь логический диск — CreateFile с именем файла "\.\X". Но откроется не FAT, а логический диск целиком.


PD>>С каталогами сложнее. Строго говоря, даже в NTFS хендл на каталоги получить нельзя, разве что для backup операций.

S>Ну, не совсем для backup. Например, для получения нотификаций об изменениях ФС. Именно для этого explorer и FAR получают хэндлы, а вовсе не для каких-то backup операций
S>Кроме этого, есть ещё и отдельный нюанс в трактовке термина "получить".
S>Получить прямо сам хэндл, чтобы его пощупать — это одно.
S>А вот захватить, хоть и не напрямую, можно безо всякого backup semantics. Достаточно вызвать FindFirstFile/FindFirstFileEx.

В обоих случаях неявно получают хендл на каталог.

https://rsdn.org/forum/flame.comp/8666472.1
Автор: m2user
Дата: 11.01.24


S>Там опять какие-то нерелевантные рассуждения вместо попытки подумать головой.


Ну для тебя нерелевантные, твое дело.
И Антон, кончай пытаться меня обидеть. Не получится. Я еще 20 лет назад решил ни на какие твои эскапады не обижаться
With best regards
Pavel Dvorkin
Re[9]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 12.01.24 05:30
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Вот ты сейчас находишься на шаге 0, и с усердием неофита топишь за то, чтобы дальше никуда не двигаться.

Не, больше похоже на то, что ты ради миски холодца всю свинью собираешься заколоть.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[13]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 12.01.24 05:30
Оценка:
Здравствуйте, Sinclair, Вы писали:

PD>>Для таблицы FAT точно никаких хендлов быть не может. А ее драйвер "открывает", то есть получает доступ к ней.

S>Продолжаю непонимать, что мешает открыть хэндл на "таблицу FAT"
Как ты себе вообще это представляешь?

S> и каким образом процесс может получить к ней доступ иначе, чем через handle.

Процесс к ней никак не получает доступ, этим всем рулит драйвер файловой системы, который ходит к данным в нужный partition через ядерные объекты, а не файловые handles.
... << RSDN@Home 1.3.110 alpha 5 rev. 62>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[4]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 12.01.24 05:30
Оценка: +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, значит пора закрыть эту страницу.
Всем пока
Отредактировано 01.02.2024 10:15 CreatorCray . Предыдущая версия .
Re[10]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 05:42
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Стоп — это его окончание. Не все сервисы можно останавливать. А те, которые можно, еще вопрос, стоит ли. Ты хочешь удалить флешку, а в итоге перестанет работать БД, с которой сейчас идет интенсивная работа.
Как перестанет — так и обратно начнёт. Нормальную БД даже вырубанием питания не сломаешь, а уж если её вежливо попросили остановиться — то тем более.
PD>А на паузу он может не реагировать или реагировать неправильно , то есть не освободив хендлы. Что потом делать ?
Чинить сервис.


S>>Надо думать о том, как улучшить жизнь пользователя.


PD>Надо. Вот с этим согласен. Но очень осторожно.


PD>Ответил сегодня в другом сообщении.


PD>Именно. Возможности такие представляются. Но для того, чтобы ими воспользоваться, надо иметь соответствующую квалификацию.

Не столько квалификацию, сколько упорство.

PD>Зачем они так сделали ? А все из тех же соображений. Увидит неграмотный юзер эту вкладку, ну и из любопытства изменит разрешения на system32, скажем. Что дальше будет — сам понимаешь.



PD>Вот поэтому и такое промежуточное решение. root поставить можно, но для неграмотного юзера это почти невозможная задача. А уж если он достаточно продвинут — поставить сможет, но должен понимать, что берет ответственность на себя.

Ну вот в iOS и вовсе рута нет. Но у него нет и идиотских ограничений вроде "не дам отмонтировать флешку".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[14]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 05:44
Оценка:
Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Еще раз объясняю. Она не файл, и доступ к ней идет в ядре как-то иначе.
Что там в ядре — дело ядра. Пользовательский процесс не может ничего сделать с устройствами иначе, как через хэндл.

PD>Впрочем, можно открыть весь логический диск — CreateFile с именем файла "\.\X". Но откроется не FAT, а логический диск целиком.

Всё верно. И на NTFS ты по отдельности их журналы "открыть" не сможешь.

PD>В обоих случаях неявно получают хендл на каталог.

Всё верно. В чём вопрос-то тогда?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 05:46
Оценка:
Здравствуйте, CreatorCray, Вы писали:

На эмоциональную часть отвечать не буду. Тут у каждого свои взгляды

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 добавлен. Вот, например

https://learn.microsoft.com/ru-ru/windows/win32/api/fileapi/nf-fileapi-createfile2

И программ, которые используют этот несчастный UI, не так мало, хотя, слава богу, тотального перехода на него не произошло. А ведь замышлялялся. Но поняла MS, что получилось что-то не то и дала, в общем, задний ход. Но убрать совсем — уже нереально.

PD>> Примерно так, как когда-то заменяли 9x на NT. Не спеша и не суетясь. Вначале создать рабочий прототип (вроде NT 3.1 — 4.0), но с четкой архитектурой, потом выверенно добавлять к нему возможности, пускать все это в ограниченное использование (как 2000, которая, если помнишь, не была рассчитана на конечного юзера), и когда-нибудь новая система заменит Windows 15

CC>Для этого надо люди с нормальным инженерным mindset а не нынешняя хипстота

Я все же не столь мрачно настроен. Если бы MS захотела такое сделать — нашла бы нового Дэвида Кэтлера. И команду бы собрала. Ресурсов у нее немеряно, могли бы лучшие силы собрать.
With best regards
Pavel Dvorkin
Re[14]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 05:46
Оценка:
Здравствуйте, CreatorCray, Вы писали:
CC>Процесс к ней никак не получает доступ, этим всем рулит драйвер файловой системы, который ходит к данным в нужный partition через ядерные объекты, а не файловые handles.
Ну так на нет и суда нет.
Или ты имеешь в виду, что unmount диска может быть заблокирован какими-то объектами на уровне драйвера, при этом никаких хэндлов на уровне процессов нет?
Ну... Может быть, я в низкоуровневом программировании не спец.
Но тогда это тем более повод для доработки на уровне ОС, а не на уровне "запускайте Руссиновича".
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[15]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 06:05
Оценка:
Здравствуйте, Sinclair, Вы писали:

Не сможешь ты прекратить дискуссию

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]: Когда же винда научится извлекать устройства?
От: CreatorCray  
Дата: 12.01.24 06:33
Оценка:
Здравствуйте, 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, значит пора закрыть эту страницу.
Всем пока
Re: Когда же винда научится извлекать устройства?
От: alexsmirnoff  
Дата: 12.01.24 06:35
Оценка: 2 (1)
Здравствуйте, Sinclair, Вы писали:

S>Посылаю очередной луч позора в Редмонд.

S>Начиная примерно с восьмёрки, пацаны занимаются какой-то хернёй, решая несуществующие проблемы.
S>Когда они уже научатся нормально извлекать устройства?

У меня обычно этому препятствует RDP сеанс, в котором разрешено подключение дисков.
Re[7]: Когда же винда научится извлекать устройства?
От: Pavel Dvorkin Россия  
Дата: 12.01.24 07:09
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>Так исправили что есть ажно цельный отдельный сторонний и довольно популярный проект Classic Start Menu, который таки "и исправляет и возвращает", а не "вот это вот всё"


Да меня и это устраивает. Убрал все лишнее, сойдет.

PD>>Э, как его выкинуть-то сейчас?

CC>Признать тупиком и задепрекейтить, в след версии сделать опциональным, потом убрать совсем.

И признать, что все приложения с ним перестанут работать ? Вряд ли на такое пойдут.

PD>>https://learn.microsoft.com/ru-ru/windows/win32/api/fileapi/nf-fileapi-createfile2

CC>Этож не метрошный API

Хм...

Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP]

То есть в классических можно, но можно и в UWP. А вот CreateFile в UWP нельзя.

Минимальная версия клиента Windows XP [только классические приложения]

PD>>Я все же не столь мрачно настроен.

CC>Увы, чем больше я узнаю подкапотный подробностей тем мрачнее становлюсь.

With best regards
Pavel Dvorkin
Re[5]: Когда же винда научится извлекать устройства?
От: Слава  
Дата: 12.01.24 07:37
Оценка:
Здравствуйте, CreatorCray, Вы писали:

CC>В сравнении с тем, как хорошо была вылизана 7ка после неё пошло скатывание в "сраное говно" (tm)

CC>8ка был мрак
CC>10ка только к моменту когда они начали пилить 11 и всё новомодное говно полилость туда а от 10 эти хипстеры отстали — стала условно съедобна, но и то только после доработки рашпилем.
CC>11я полна вши, червйя, ну и классических чертей со спины.

"...усеницы, мошь, вша красная, вша жолтая, и иные всякие твари, и несли гробы повапленные со свещами унутри, и черепа, и трептогубия, и пели срамные кощуны"

Вы в ЖЖ были?
Re[3]: Когда же винда научится извлекать устройства?
От: Константин Б. Россия  
Дата: 12.01.24 07:39
Оценка: +2
Здравствуйте, alpha21264, Вы писали:

A>Здравствуйте, Константин Б., Вы писали:



КБ>>А если бы пользовался еще чем-нибудь другим то возможно бы знал что проблема не специфична для винды.


A>Эээ... Ну вот я пользуюсь Линуксом. Там нет такой проблемы

A>Ну то есть ты можешь держать флешку, если какой-то конкретной программой (например редактором) открыл файл на флешке.
A>Но редактор закрыл, — флешка отмонтировалась.
A>Так чтобы ОС сама неизвестно почему держала флешку — нет такого.

А что значит неизвестно? Вот где-то у тебя забытая консоль с башем с текущей папокй на флэшке — это неизвестно?
Линукс тебе скажет device is busy. Никакого списка приложений он тебе не предложит.
Re[5]: Когда же винда научится извлекать устройства?
От: Константин Б. Россия  
Дата: 12.01.24 07:41
Оценка: :)
Здравствуйте, Sinclair, Вы писали:

КБ>>Если ты действительно пользовался виндой столько времени сколько утверждаешь то не может быть что не сталкивался с тем что shutdown тоже не срабатывает.

S>Простите, это аргумент в пользу чего?

Это аргумент против "что раз с шатдауном все работает, значит и с эджектом должно". Во первых не работает, во вторых не понятно какая свзяь между первым и вторым.
Re[11]: Когда же винда научится извлекать устройства?
От: Константин Б. Россия  
Дата: 12.01.24 07:44
Оценка:
Здравствуйте, mike_rs, Вы писали:

_>Все верно, но тут речь о том, что теперь встроенные системные сервисы этот бейджик не получили и не смогут, ибо не выполняют требований. И за это поделие МС берет с нас деньги.


На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится.
Re[12]: Когда же винда научится извлекать устройства?
От: Sinclair Россия https://github.com/evilguest/
Дата: 12.01.24 07:50
Оценка:
Здравствуйте, Константин Б., Вы писали:
КБ>На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится.
Это был WSL2 с его automount.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[2]: Когда же винда научится извлекать устройства?
От: mike_rs Россия  
Дата: 12.01.24 07:54
Оценка:
Здравствуйте, alexsmirnoff, Вы писали:

S>>Когда они уже научатся нормально извлекать устройства?


Кстати, какая ФС на флешке? На съемных носителях нужно использовать Fat/exFat, т.к. ntfs категорически не умеет отмонтироваться на лету, держит кучу хендлов в самом драйвере.
Re[13]: Когда же винда научится извлекать устройства?
От: Константин Б. Россия  
Дата: 12.01.24 08:09
Оценка: +1
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Константин Б., Вы писали:

КБ>>На данный момент про "встроенные сервисы" — это предположение. Топикстартер никакую диагностику не провел. Фиг знает что у него там крутится.
S>Это был WSL2 с его automount.


Здорово. Давай сопоставим с отригинальными гипотезами. Что из этого оказалось верным?

пацаны занимаются какой-то хернёй, решая несуществующие проблемы.

или пристрели его по-плохому.

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

все "пользовательские программы", которые могли на мой внешний диск смотреть, закрыл первым делом ещё до того, как задуматься об извлечении устройства.


В WSL багов безусловно море, но сам по себе он не запускается. Он даже не установлен по дефолту. Его запустил ты для каких-то нужных тебе задач.
Re[3]: Когда же винда научится извлекать устройства?
От: m2user  
Дата: 12.01.24 09:06
Оценка:
_>Кстати, какая ФС на флешке? На съемных носителях нужно использовать Fat/exFat, т.к. ntfs категорически не умеет отмонтироваться на лету, держит кучу хендлов в самом драйвере.

ТС писал уже — exFAT.
Про NTFS сомнительно. Я как раз эксперименты проводил с NTFS: safely remove отрабатывал при закрытии условного нотепада. Правда, то было на VM и ОС старая (NT 6.0). Возможно нужны какие-то доп. условия.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.