Войти

Показать полную графическую версию : Ошибка при открытии уже открытого файла


Raistlin
27-04-2007, 18:41
При последовательном выполнении функций:CreateFile(filename, GENERIC_WRITE, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0)
CreateFile(filename, GENERIC_READ, FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0) вторая вместо хендла возвращает -1. Но если выполнить только первую, то в просмотрщике Far'а, например, filename откроется без ошибки. Чего-то я тут не понимаю... Может, кто подскажет?

DillerInc
27-04-2007, 21:10
Raistlin
Попробуй посмотреть тут на MSDN (http://msdn2.microsoft.com/en-us/library/aa363874.aspx),особенно ту таблицу,которая там приводится.Возможно,что-то прояснится.

EvgeniyQQQ
28-04-2007, 14:13
Вы не понимаете того, что флаг FILE_SHARE_READ определяет совместный доступ разных процессов. Вы пытаетесь два раза получить доступ к файлу одним и тем же процессом.
Если вам интересно проверить совместный доступ. Откройте к примеру текстовый файл своим приложением, разрешите совместное чтение, а затем откройте файлик блокнотом.




© OSzone.net 2001-2012