| Joseph Sweik | 
| Отправлено: 03.06.2005, 13:10 | 
 
 
 | 
 
  
Не зарегистрирован
 
 
 
 
 
  
  
 | 
 Открывается сетевой файл в монопольном режиме при помощи функции CreateFile. При этом значение параметра ShareMode = 0. Файл открывается с нескольких локальных машин. Если уже открытый файл открывается со станции с установленной WinNT 4.0, то все как по книжке — файл не открывается ACCESS_DENIED. Если теже действия со станции, с установленной Win2000 с ServicePack> 2 или WinXP, то процесс зависает намертво до освобождения ресурса. После освобождения ресурса, файл открывается, но ждать освобождения можно очень долго. Я хочу, чтобы мне сразу дали отлуп.
  
А вот и код: 
hFile = CreateFile(szLabelName.c_str(), GENERIC_READ | GENERIC_WRITE, 0, 
NULL, OPEN_ALWAYS, 0, NULL); 
if (hFile != INVALID_HANDLE_VALUE) { 
WriteFile(hFile, szString.c_str(), szString.Length(), &dwBytesRead, NULL); 
SetEndOfFile(hFile); 
return hFile; // файл открылся в монопольном режиме и окажется занятым для других пользователей 
} 
else { 
return 0; // файл занят другим пользователем 
}
  
Gedeon уже отвечал, но может я что-то не так рассказал о своей проблеме или, что скорее всего, дело в локальных настройках системы. 
Может что-нибудь подскажите? 
   | 
 
  | 
 
  |