Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Ошибка при открытии уже открытого файла (http://forum.oszone.net/showthread.php?t=83242)

Raistlin 27-04-2007 18:41 580490

Ошибка при открытии уже открытого файла
 
При последовательном выполнении функций:
Код:

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 580556

Raistlin
Попробуй посмотреть тут на MSDN,особенно ту таблицу,которая там приводится.Возможно,что-то прояснится.

EvgeniyQQQ 28-04-2007 14:13 580826

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


Время: 23:16.

Время: 23:16.
© OSzone.net 2001-