Почему атрибут «только для чтения» устанавливается (иногда) для файлов, созданных моей службой?

ПРИМЕЧАНИЕ. Это полное переписывание этого вопроса. Я'Ранее я связывал некоторые проблемы ACL с проблемой I 'м охота, наверное, поэтому не было ответов.

У меня есть служба Windows, которая использует стандартные процедуры открытия / закрытия / записи для записи файла журнала (он читает материал из канала и помещает его в журнал). Новый файл журнала открывается каждый день в полночь. Система Windows XP Embedded.

Служба работает как служба локальной системы (CreateService с NULL для пользователя).

Когда служба изначально запускается, она создает файл журнала и записывает в него без проблем. На данный момент все в порядке, и вы можете перезапустить службу (или компьютер) без проблем.

Однако в полночь (когда меняется день) служба создает новый файл журнала и записывает в него. Самое смешное, что этот новый файл журнала имееттолько для чтения флаг установлен. Тот'Это проблема, потому что если служба (или компьютер) перезапускается, служба больше не может открыть файл для записи.

Вот's соответствующая информация из системы с уже возникшей проблемой:

 Directory of C:\bbbaudit

09/16/2009  12:00 AM              .
09/16/2009  12:00 AM              ..
09/16/2009  12:00 AM               437 AU090915.ADX
09/16/2009  12:00 AM                62 AU090916.ADX

attrib c:\bbbaudit\*
A          C:\bbbaudit\AU090915.ADX 

Ответы на вопрос(2)

Ваш ответ на вопрос