Re: Система не может создать pagefile.sys
От: Murr Россия  
Дата: 26.11.04 18:18
Оценка: 1 (1) +1
Может немного не по теме, но помнится в Win подобное сообщение временами возникало, когда права на pagefile.sys были криво выставлены.
Система не может создать pagefile.sys
От: HBOOT  
Дата: 24.11.04 15:37
Оценка:
Добрый день!
У меня есть фильтр файловой системы (работающий по принципу sfilter с ДДК, те кто работали с фильтрами файловых систем должны знать этот пример):

Впринципе все работает, фильтрация создания файлов и работы над ними происходит нормально, все это работает под verifier, очередность загрузки такая же как и у sfilter. НО после загрузки система выдает сообщения что нет свап файла или его размер маленький.

Я ставил на систему sfilter и вставлял соответсвующие логи в место где можно отловить создание pagefile.sys : в дебагере появляеться сообщение о том что он создался (одно сообщение).

В случае моего драйвера выводиться куча таких сообщений — штук 20 наверное, причем IoCallDriver возвращает 0 (STATUS_SUCCESS) то же самое в Irp->IoStatus.Status. Проверял параметры ирпа и все его параметры — все также само как и в случае с sfilter. Также проверял стек драйверов — все впорядке. После загрузки как я и сказал мой драйвер работает нормально. Verifier ничего не пишет.

С уважением HBOOT.
Re: Система не может создать pagefile.sys
От: MShura  
Дата: 24.11.04 17:10
Оценка:
Здравствуйте, HBOOT, Вы писали:

HBO>Добрый день!

HBO>У меня есть фильтр файловой системы (работающий по принципу sfilter с ДДК, те кто работали с фильтрами файловых систем должны знать этот пример):

Не знаю как в Windows, но в Linux для того, чтобы можно было создать swap file на томе с твоим драйвером, недостаточно просто файловых операций, необходимо также реализовать так называемые address_space_operationswritepage,readpage,sync_page,prepare_write,commit_write,bmap)

Предполагаю, что в Windows примерно такая же история.
Re: Система не может создать pagefile.sys
От: Sergei I. Gorelkin Россия  
Дата: 25.11.04 05:56
Оценка:
Здравствуйте, HBOOT, Вы писали:

<skipped>

Посмотрите в сторону IRP_MJ_PNP + IRP_MN_DEVICE_USAGE_NOTIFICATION. Оно посылается как раз для извещения драйвера о "жизненно важных" файлах. После получения этого сообщения драйвер должен и другие PnP и Power запросы обрабатывать несколько по-другому.
Re: Система не может создать pagefile.sys
От: Злость Россия  
Дата: 25.11.04 10:51
Оценка:
Здравствуйте, HBOOT, Вы писали:

[skip]

Какие у вас дейсвтия если в currentIrpStack->Flags присутсвует SL_OPEN_PAGING_FILE?
Правда, Ложь — мне все одно — я имею свое мнение.
Если функция недокументированна — это не значит, что ее не используют все ваши конкуренты в своих продуктах.
Любой строй переходный и отрицать это значит быть закостенелым идиотом.
Re[2]: Система не может создать pagefile.sys
От: HBOOT  
Дата: 25.11.04 13:47
Оценка:
З>Какие у вас дейсвтия если в currentIrpStack->Flags присутсвует SL_OPEN_PAGING_FILE?

Если у меня попадался этот флаг то я пропускал обработку, у меня был переход на след. блок: тоесть я вообще не делал в этом случае, а просто передавал ирп ниже по стеку

IoSkipCurrentIrpStackLocation( Irp );
res = IoCallDriver( he->ConnectedTo, Irp );
return res;
Re[2]: Система не может создать pagefile.sys
От: HBOOT  
Дата: 29.11.04 13:37
Оценка:
Здравствуйте, Murr, Вы писали:

M>Может немного не по теме, но помнится в Win подобное сообщение временами возникало, когда права на pagefile.sys были криво выставлены.


А где ывставляються права на создание pagefile.sys?
Самое интерестное это то, что при создании файла нет ни одного кода ошибки, все возвращаемые коды указывают на то что операция завершилась успешно.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.