У меня есть программа, которая читает и записывает большие данные. Чтение и запись работает хорошо, когда запись выполняется в файл на локальном диске. Когда целью является сетевой ресурс, и когда я запускаю два экземпляра одной и той же программы, первая запущенная программа зависает на WriteFile. Когда я отлаживал, WriteFile на сетевом ресурсе блокируется.
Я реализовал перекрывающийся ввод-вывод в WriteFile с помощью WaitForSingleObject (время ожидания 60 секунд). Теперь WriteFile больше не блокируется, но даже после того, как все данные записываются по сети один раз. Нужно ли учитывать повторные попытки при использовании WriteFile через сетевой ресурс? Как правильно использовать WriteFile для файла по сети?
Обновление:
Я ссылался на следующую ссылку для реализации перекрывающегося ввода-вывода с WriteFile.
http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/a5e9514b-53e0-410c-a975-41a5ca91e4be
Ссылка говорит, что я использовал CreateFile только с GENERIC_WRITE без GENERIC_READ. Но что, если я тоже хочу прочитать из файла - значит ли это, что я вообще не могу реализовать asyn io для WriteFile. На самом деле я должен прочитать заголовок из того же файла, прежде чем писать в файл с перекрытием ввода-вывода. Как я могу это сделать ??