Joseph Sweik |
Отправлено: 27.05.2005, 14:21 |
|
Не зарегистрирован
|
Открывается файл на сервере: Win2003 в монопольном режиме при помощи функции CreateFile. При этом значение параметра ShareMode = 0. Файл открывается с нескольких локальных машин. Если уже открытый файл открывается со станции с установленной WinNT 4.0, то все как по книжке — файл не открывается ACCESS_DENIED. Если теже действия со станции, с установленной Win2000 или WinXP, то процесс зависает намертво до освобождения ресурса. Может что-нибудь подскажите?
|
|
Gedeon |
Отправлено: 27.05.2005, 14:35 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Покажите код.
|
|
Joseph Sweik |
Отправлено: 27.05.2005, 14:42 |
|
Не зарегистрирован
|
А вот и код:
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 |
Отправлено: 27.05.2005, 16:04 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
2003 сервера у меня нету, но проверил на 2000 сервер, ХР и на новеле, открывал все с ХР, все честно и корректно отрабатывает, не знаю че посоветовать, может процесс не на этой ф-ции виснет?
|
|
|