Не сте регистриран! Регистрирайте се БЕЗПЛАТНО, за да използвате услугите на сайта!

Нова тема
Защo е бавно?
Тази тема е погледната 315 пъти
Добави темата към любими | Принтирай темата | Нова тема 
Публикувано на: 09.06.2008 15:55
levskiiiwo
Чирак

Мнения: (9)

Имам един странен проблем, стандартната функция в Windows CloseHandle(HANDLE hHandle), която затваря отворен HANDLE ми се бави,
точно 10 секинди преди да затвори отворен файл с CreateFile.
Странното е че това се проявява само когато файла е отворен И с права за писане. Така че ако някой има каквато и да е идея къде може да е проблема моля да сподели.


 
Това мнение е редактирано от levskiiiwo на 09.06.2008 15:58
---------------------------
Потребител от: 14.03.06 | Всички уроци от levskiiiwo | Всички скриптове от levskiiiwo
напиши eMail напиши лично съобщение виж профила на levskiiiwo
Публикувано на: 10.06.2008 03:36
jpg
Ронин

Модератор

Мнения: (114)

А може ли да видим някакъв код? Интересен проблем! Първото ми предположение е, че отваряш файл от външно устройство или чужда файлова система. Пробвай и на друга машина за да изключиш проблем от уина. Може и антивирусната да е виновна.


 
---------------------------
Потребител от: 16.07.06 | Всички уроци от jpg | Всички скриптове от jpg
напиши eMail напиши лично съобщение виж профила на jpg
Публикувано на: 16.06.2008 10:19
levskiiiwo
Чирак

Мнения: (9)

Правилно предполагаш, че е може да е антивирусната (в моя случай НОД).
Това го намерих след като писах и в други формуми и наистина антивирусната беше проблема. Тя явно закача нещо като филтър на подобни извиквания на функции към файловата система. Явно това се бави.
Сега обаче си остава, проблема че неможе да си махнеш антивирусната програма, че да нямаш подобен проблем.
Извикванията са:

HANDLE h;
h = CreateFile(FileName
           GENERIC_READ | GENERIC_WRITE,
           FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
           0,
           OPEN_EXISTING,
           0,
           NULL);

...

CloseHandle(h);

Трябва някакво решение, ако някой има идей може да сподели.


 
---------------------------
Потребител от: 14.03.06 | Всички уроци от levskiiiwo | Всички скриптове от levskiiiwo
напиши eMail напиши лично съобщение виж профила на levskiiiwo
Публикувано на: 19.06.2008 20:14
jpg
Ронин

Модератор

Мнения: (114)

Може този филтър да се шашка от многото права за споделяне. Ако не служи за комуникация, пробвай да го отвориш с FILE_SHARE_NONE или FILE_SHARE_READ. Иначе може да го възприема като комуникационен файл, и да проверява всяка извършена модификация при затварянето. И ако има много на брой WriteFile заявки...


 
---------------------------
Потребител от: 16.07.06 | Всички уроци от jpg | Всички скриптове от jpg
напиши eMail напиши лично съобщение виж профила на jpg
 1 посетител чете тази тема (0 потребители и 1 гост)  
Активни потребители: ---
   





IT-PLACE.NET © 2004 - 2008