The problem you’re having is a design problem. Attempting to write to the
registry at this
point in shutdown will seldom ‘IF’ ever work. The Configuration Manager has
its own caching rules.
It has a long delay on its flush, and there isn’t much I know of you can do
about it.
The return codes you’re seeing are correct, however, those are for
operations on paged memory
and as you have seen never get flushed to the file system.
The “mumbling something about calling this API after shutdown is an unwise
idea” is a legitimate
message, research it a little.
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Dmitry G
Sent: Sunday, April 19, 2009 8:39 AM
To: Windows File Systems Devs Interest List
Subject: [ntfsd] IRP_MJ_SHUTDOWN in minifilter
Ladies and Gentlemen,
I am trying to write a registry value upon receiving IRP_MJ_SHUTDOWN within
my minifilter.
-
ZwSetValueKey fails (0xC000009A)
-
RtlWriteRegistryValue fails (mumbling something about calling this API
after shutdown is an unwise idea)
-
When I tried to use device objects and IoRegisterShutdownNotification()
API setting
DriverObject->MajorFunction[IRP_MJ_SHUTDOWN] in my DriverEntry(), the
dispatch routine was not even called and
I think it’s somehow overridden by the Filter Manager.
I’ve been running through the forum, but still the refusal of the OS to
write the registry upon shutdown is rather enigmatic.
Any help would be appreciated,
Dmitry.
NTFSD is sponsored by OSR
For our schedule of debugging and file system seminars
(including our new fs mini-filter seminar) visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at
http://www.osronline.com/page.cfm?name=ListServer