Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2019, 11:54   #11
Рурик
Пользователь
 
Регистрация: 05.09.2019
Сообщений: 54
По умолчанию

Alex11223, я задавал вопрос по Win32 API на MSDN, только один человек ответил через несколько дней. Поэтому MSDN ничем не отличается от этого форума.

За бесплатно эксперт ведь не будет отвечать. Значит остаётся фриланс.
Рурик вне форума Ответить с цитированием
Старый 05.10.2019, 11:56   #12
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Рурик Посмотреть сообщение
Вообще, по логике, у майкрософта должна быть техподдержка.
Я по идее должен им задать этот вопрос, а они должны ответить.
Но почему-то у них такой системы нет. Ерунда какая-то.
Как я могу узнать, как решить эту задачу? Изучить все существующие api-функции, относящиеся к работе с файловой системой?
Раньше у них была политика такая регистрируешься покупаешь тех-поддержку на год там 100 000 долларов. И тогда они тебе ответят. Сейчас они походу это убрали. Экономят. Они сделали форум и если вам повезет, то кто-то там ответит.
https://social.msdn.microsoft.com/Forums/ru-RU/home
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 05.10.2019, 11:58   #13
Рурик
Пользователь
 
Регистрация: 05.09.2019
Сообщений: 54
По умолчанию

Был я у них на форуме: через несколько дней один ответил. Я не увидел разницы между MSDN и этим форумом.
Рурик вне форума Ответить с цитированием
Старый 05.10.2019, 11:59   #14
Рурик
Пользователь
 
Регистрация: 05.09.2019
Сообщений: 54
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
А если другие захотят писать пока вы там читаете?
Пока я там читаю, другие не должны там писать. Это правило для организации. Никто не будет возражать.
Рурик вне форума Ответить с цитированием
Старый 05.10.2019, 12:27   #15
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Цитата:
Сообщение от Рурик Посмотреть сообщение
Например, надо удалить папку.
Переименуйте папку, да потом удаляйте на здоровье.
waleri вне форума Ответить с цитированием
Старый 05.10.2019, 12:30   #16
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Рурик Посмотреть сообщение
Пока я там читаю, другие не должны там писать. Это правило для организации. Никто не будет возражать.
Правильная. Но вы должны предусмотреть у себя паузы что-бы другие могли читать (проблема alivelock, разновидность DeadLock). Если их не предусмотреть, то другие уже не смогут вклиниться что-бы что-то дописать/прочитать.

Самый простой пример допустим вы пишите лог и заблокировали его на чтение. Администратор не сможет открыть его в блокноте и прочитать. Так же и с вашими файлами если оператор захочет посмотреть что вы там пишите во время длинного процесса и не зависла ли ваша программа. Или антивирус считать ваш файл. А то так любой вирус сможет блокироваться от чтения. Соответственно подход ваш может и правильный, но у него есть минусы.

Как вы понимаете паузы снижает производительность. Файловая система это тоже самая СУБД. А для СУБД есть теория которая говорит что если использовать транзакции, то проблемы блокировок можно обойти. Вместо блокировок используется версионность и двойные проходы.

Видимо поэтому блокировку директорий майкрософт не делала, а только файлов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 05.10.2019, 12:33   #17
Рурик
Пользователь
 
Регистрация: 05.09.2019
Сообщений: 54
По умолчанию

Pavia, мне нужен DeadLock. Все работники организации это хотят и будут безмерно рады.
Рурик вне форума Ответить с цитированием
Старый 05.10.2019, 12:37   #18
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Цитата:
Сообщение от Рурик Посмотреть сообщение
Pavia, мне нужен DeadLock. Все работники организации это хотят и будут безмерно рады.
Тогда делайте как вы сами написали. Меняйте пользователя и ограничивайте доступ при помощи ACL списка правил на файлы и директории.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 05.10.2019 в 12:38. Причина: и директории
Pavia вне форума Ответить с цитированием
Старый 05.10.2019, 13:08   #19
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Вот пример для директории нашел
https://docs.microsoft.com/ru-ru/win...reating-a-dacl

Что-бы поменять права используете
GetSecurityDescriptorDacl
SetSecurityDescriptorDacl
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как прочитать из таблицы данные и добавить к ним новые, при этом заблокировать таблицу на время этих действий Illusiony SQL, базы данных 3 13.09.2016 18:39
Заблокировать exe-шник через заданное время nvrrus Общие вопросы C/C++ 16 25.02.2011 20:28
TThread выполняет что-либо пока работает запущенная им программа Человек_Борща Общие вопросы Delphi 7 25.11.2010 13:23
Как заблокировать папку? Virus25 Общие вопросы Delphi 5 15.08.2010 14:08