HKLM\Software availability during boot time

I use RtlQueryRegistryValues to get few values from the registry which are under HKLM\Software from my driver which starts during boot time (start = 0). This routine always returns STATUS_OBJECT_NAME_NOT_FOUND. The solution for this is to place the values under HKLM\System, which is not possible NOW, don’t ask why!

Can you recommend me a way other than polling to find out whether HKLM\Software Hive has arrived. A callback solution would be ideal, though anything other than polling will do…

Best Regards,

Giri.


Do you Yahoo!?
Meet the all-new My Yahoo! – Try it today!

From what I remember of this (its been a few years)… I looked at this
once and opted for a custom worker thread with a periodic check.
(It was an R&D experimental driver for a product that never came to
fruitition…)

I believe I put it down to the way that file systems are loaded
(read-only), unloaded then re-loaded finally during NT startup…
There is a detailed description of ‘what happens at startup’ that made
this seem logical at the time documented in the rajeev nagar book.

Rob Linegar
Software Engineer
Data Encryption Systems Limited
www.des.co.uk | www.deslock.com


From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Seshagiri Babu
K.V.
Sent: 26 November 2004 13:53
To: Windows File Systems Devs Interest List
Subject: [ntfsd] HKLM\Software availability during boot time

I use RtlQueryRegistryValues to get few values from the registry which
are under HKLM\Software from my driver which starts during boot time
(start = 0). This routine always returns STATUS_OBJECT_NAME_NOT_FOUND.
The solution for this is to place the values under HKLM\System, which is
not possible NOW, don’t ask why!

Can you recommend me a way other than polling to find out whether
HKLM\Software Hive has arrived. A callback solution would be ideal,
though anything other than polling will do…

Best Regards,

Giri.


Do you Yahoo!?
Meet the all-new My Yahoo! http: - Try it today! —
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17 You are currently subscribed
to ntfsd as: xxxxx@des.co.uk To unsubscribe send a blank email to
xxxxx@lists.osr.com</http:>

>I use RtlQueryRegistryValues to get few values from the registry which are
under

HKLM\Software from my driver which starts during boot time (start = 0).

Impossible. Forget this. The SOFTWARE hive is not loaded this early.

place the values under HKLM\System, which is not possible NOW, don’t ask why!

But this is the only solution. Having ANY parameters for a boot-started driver
(well, strictly speaking - for any driver) in HLKM\SOFTWARE is a major
misdesign, the earlier you will fix it - the better.

Can you recommend me a way other than polling to find out whether
HKLM\Software Hive has
arrived.

Very, very late, after all PnP drivers will initialize.

SOFTWARE is loaded by SMSS.

Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com

When a service is started the registry is on, so
You can make a service. When it starts it sets a system event and stops. In
your driver you monitor that event.
Check IoCreateSynchronizationEvent / IoCreateNotificationEvent

Regards
RM

“Seshagiri Babu K.V.” wrote in message
news:xxxxx@ntfsd…
I use RtlQueryRegistryValues to get few values from the registry which are
under HKLM\Software from my driver which starts during boot time (start =
0). This routine always returns STATUS_OBJECT_NAME_NOT_FOUND. The solution
for this is to place the values under HKLM\System, which is not possible
NOW, don’t ask why!
Can you recommend me a way other than polling to find out whether
HKLM\Software Hive has arrived. A callback solution would be ideal, though
anything other than polling will do…
Best Regards,
Giri.

Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!

As some them (Max and doron ! ) mentioned ntldr managed to load the SYSTEM
hide using inbuilt ( possibly a mini-raw mechanism ) access to disk. I’ve
seen the footprint of ntldr in the past and it confirms this.

Not sure if that would work or not, but one thing you could do is to look
for the reInitialization registration if I could recall, but then it might
not give you the precise stage of initing your driver again !!!.

-pro
----- Original Message -----
From: “RM”
Newsgroups: ntfsd
To: “Windows File Systems Devs Interest List”
Sent: Friday, November 26, 2004 9:53 AM
Subject: Re:[ntfsd] HKLM\Software availability during boot time

> When a service is started the registry is on, so
> You can make a service. When it starts it sets a system event and stops.
In
> your driver you monitor that event.
> Check IoCreateSynchronizationEvent / IoCreateNotificationEvent
>
> Regards
> RM
>
> “Seshagiri Babu K.V.” wrote in message
> news:xxxxx@ntfsd…
> I use RtlQueryRegistryValues to get few values from the registry which are
> under HKLM\Software from my driver which starts during boot time (start =
> 0). This routine always returns STATUS_OBJECT_NAME_NOT_FOUND. The solution
> for this is to place the values under HKLM\System, which is not possible
> NOW, don’t ask why!
> Can you recommend me a way other than polling to find out whether
> HKLM\Software Hive has arrived. A callback solution would be ideal, though
> anything other than polling will do…
> Best Regards,
> Giri.
>
>
> Do you Yahoo!?
> Meet the all-new My Yahoo! - Try it today!
>
>
>
> —
> Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
>
> You are currently subscribed to ntfsd as: xxxxx@garlic.com
> To unsubscribe send a blank email to xxxxx@lists.osr.com
>
>