Delaying loading of driver

I have a root enumerated device.

Driver for this device is from NDIS group.

In booting phase, I want to delay the loading of driver till the time all
drivers in group “Extended Base” has been loaded.

I have tried setting the “DependOnService” and “DependOnGroup” values in
service entry of driver.

But is not working out.

Is there any thing that I am missing while setting these registry values?
or Does some body know some other alternative.

Regards
Deepak

Well normally NDIS stuff is at system load time, and the values you mention
are only useable on boot drivers.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

“Deepak Gupta” wrote in message news:xxxxx@ntdev…
>I have a root enumerated device.
>
> Driver for this device is from NDIS group.
>
> In booting phase, I want to delay the loading of driver till the time all
> drivers in group “Extended Base” has been loaded.
>
> I have tried setting the “DependOnService” and “DependOnGroup” values in
> service entry of driver.
>
> But is not working out.
>
> Is there any thing that I am missing while setting these registry values?
> or Does some body know some other alternative.
>
> Regards
> Deepak
>

On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:

> Well normally NDIS stuff is at system load time, and the values you mention
> are only useable on boot drivers.

I tried associating my driver with “Extended Base” group. It gets the
highest tag value and thus ensuring my requirement
of all “Extended Base” group drivers loaded first.

Still I find that It is loading quite earlier (few of the drivers in
“Extended Base” are yet to be loaded on which my driver depends).

Regards
Deepak

>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
>
>
> “Deepak Gupta” wrote in message news:xxxxx@ntdev.
> …
> >I have a root enumerated device.
> >
> > Driver for this device is from NDIS group.
> >
> > In booting phase, I want to delay the loading of driver till the time all
> > drivers in group “Extended Base” has been loaded.
> >
> > I have tried setting the “DependOnService” and “DependOnGroup” values in
> > service entry of driver.
> >
> > But is not working out.
> >
> > Is there any thing that I am missing while setting these registry values?
> > or Does some body know some other alternative.
> >
> > Regards
> > Deepak
> >
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars 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
>

Once you get into Plug and Play all bets are off, as to when you drive will
be loaded. Why do you want it to be at a certain point in the process?
There are approachs such as dependancies on device interfaces that are used
with PnP.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

“Deepak Gupta” wrote in message news:xxxxx@ntdev…
> On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:
>
>> Well normally NDIS stuff is at system load time, and the values you
>> mention
>> are only useable on boot drivers.
>
>
> I tried associating my driver with “Extended Base” group. It gets the
> highest tag value and thus ensuring my requirement
> of all “Extended Base” group drivers loaded first.
>
> Still I find that It is loading quite earlier (few of the drivers in
> “Extended Base” are yet to be loaded on which my driver depends).
>
> Regards
> Deepak
>
>
>>
>>
>> –
>> Don Burn (MVP, Windows DDK)
>> Windows Filesystem and Driver Consulting
>> Website: http://www.windrvr.com
>> Blog: http://msmvps.com/blogs/WinDrvr
>> Remove StopSpam to reply
>>
>>
>>
>>
>> “Deepak Gupta” wrote in message
>> news:xxxxx@ntdev.
>> …
>> >I have a root enumerated device.
>> >
>> > Driver for this device is from NDIS group.
>> >
>> > In booting phase, I want to delay the loading of driver till the time
>> > all
>> > drivers in group “Extended Base” has been loaded.
>> >
>> > I have tried setting the “DependOnService” and “DependOnGroup” values
>> > in
>> > service entry of driver.
>> >
>> > But is not working out.
>> >
>> > Is there any thing that I am missing while setting these registry
>> > values?
>> > or Does some body know some other alternative.
>> >
>> > Regards
>> > Deepak
>> >
>>
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars 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
>>
>

The key to answering your requirement (as opposed to your question) is, as
Don has ask, is to provide some detail about what facility in the system you
need to use that is not available at the time your driver loads.

Often, then, you can delay the completion of MiniportInitialize until that
facility has become available as long as you know that the facility itself
is not dependent on the completion of your MiniportInitialize. Otherwise,
you will need to complete MiniportInitialize for your (virtual) device but
maintain enough state to ‘connect’ it to the required facilities when they
do finally become available.

Please also be aware that whatever you are trying to do, if it is at boot
time (Boot Start Driver), there may be an entirely different set of
requirements and solutions. So please state if your virtual adapter is
starting in the ‘normal’ course of system startup or at boot time.

Good Luck,
Dave Cattley
Consulting Engineer
Systems Software Development

-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Don Burn
Sent: Monday, January 05, 2009 9:28 AM
To: Windows System Software Devs Interest List
Subject: Re:[ntdev] Delaying loading of driver

Once you get into Plug and Play all bets are off, as to when you drive will
be loaded. Why do you want it to be at a certain point in the process?
There are approachs such as dependancies on device interfaces that are used
with PnP.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

“Deepak Gupta” wrote in message news:xxxxx@ntdev…
> On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:
>
>> Well normally NDIS stuff is at system load time, and the values you
>> mention
>> are only useable on boot drivers.
>
>
> I tried associating my driver with “Extended Base” group. It gets the
> highest tag value and thus ensuring my requirement
> of all “Extended Base” group drivers loaded first.
>
> Still I find that It is loading quite earlier (few of the drivers in
> “Extended Base” are yet to be loaded on which my driver depends).
>
> Regards
> Deepak
>
>
>>
>>
>> –
>> Don Burn (MVP, Windows DDK)
>> Windows Filesystem and Driver Consulting
>> Website: http://www.windrvr.com
>> Blog: http://msmvps.com/blogs/WinDrvr
>> Remove StopSpam to reply
>>
>>
>>
>>
>> “Deepak Gupta” wrote in message
>> news:xxxxx@ntdev.
>> …
>> >I have a root enumerated device.
>> >
>> > Driver for this device is from NDIS group.
>> >
>> > In booting phase, I want to delay the loading of driver till the time
>> > all
>> > drivers in group “Extended Base” has been loaded.
>> >
>> > I have tried setting the “DependOnService” and “DependOnGroup” values
>> > in
>> > service entry of driver.
>> >
>> > But is not working out.
>> >
>> > Is there any thing that I am missing while setting these registry
>> > values?
>> > or Does some body know some other alternative.
>> >
>> > Regards
>> > Deepak
>> >
>>
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars 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
>>
>


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars 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

On Mon, Jan 5, 2009 at 7:58 PM, Don Burn wrote:

> Once you get into Plug and Play all bets are off, as to when you drive will
> be loaded. Why do you want it to be at a certain point in the process?
> There are approachs such as dependancies on device interfaces that are used
> with PnP.
>

Yes, It depends on a device interface created by a bus driver which is part
of “Extended Base” group.
How to tell Windows of this dependency?

>
> –
> Don Burn (MVP, Windows DDK)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
>
>
> “Deepak Gupta” wrote in message news:xxxxx@ntdev.
> …
> > On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:
> >
> >> Well normally NDIS stuff is at system load time, and the values you
> >> mention
> >> are only useable on boot drivers.
> >
> >
> > I tried associating my driver with “Extended Base” group. It gets the
> > highest tag value and thus ensuring my requirement
> > of all “Extended Base” group drivers loaded first.
> >
> > Still I find that It is loading quite earlier (few of the drivers in
> > “Extended Base” are yet to be loaded on which my driver depends).
> >
> > Regards
> > Deepak
> >
> >
> >>
> >>
> >> –
> >> Don Burn (MVP, Windows DDK)
> >> Windows Filesystem and Driver Consulting
> >> Website: http://www.windrvr.com
> >> Blog: http://msmvps.com/blogs/WinDrvr
> >> Remove StopSpam to reply
> >>
> >>
> >>
> >>
> >> “Deepak Gupta” wrote in message
> >> news:xxxxx@ntdev.
> >> …
> >> >I have a root enumerated device.
> >> >
> >> > Driver for this device is from NDIS group.
> >> >
> >> > In booting phase, I want to delay the loading of driver till the time
> >> > all
> >> > drivers in group “Extended Base” has been loaded.
> >> >
> >> > I have tried setting the “DependOnService” and “DependOnGroup” values
> >> > in
> >> > service entry of driver.
> >> >
> >> > But is not working out.
> >> >
> >> > Is there any thing that I am missing while setting these registry
> >> > values?
> >> > or Does some body know some other alternative.
> >> >
> >> > Regards
> >> > Deepak
> >> >
> >>
> >>
> >>
> >> —
> >> NTDEV is sponsored by OSR
> >>
> >> For our schedule of WDF, WDM, debugging and other seminars 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
> >>
> >
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars 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
>

You do not tell windows of the dependancy, you either have the bus driver
enumerate your NDIS device, or if your driver is NDIS WDM you use
IoRegisterPlugPlayNotification to get the interface once it is available.
Personally, I would have the bus driver enumerate the device.


Don Burn (MVP, Windows DDK)
Windows Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

“Deepak Gupta” wrote in message news:xxxxx@ntdev…
> On Mon, Jan 5, 2009 at 7:58 PM, Don Burn wrote:
>
>> Once you get into Plug and Play all bets are off, as to when you drive
>> will
>> be loaded. Why do you want it to be at a certain point in the process?
>> There are approachs such as dependancies on device interfaces that are
>> used
>> with PnP.
>>
>
> Yes, It depends on a device interface created by a bus driver which is
> part
> of “Extended Base” group.
> How to tell Windows of this dependency?
>
>
>>
>> –
>> Don Burn (MVP, Windows DDK)
>> Windows Filesystem and Driver Consulting
>> Website: http://www.windrvr.com
>> Blog: http://msmvps.com/blogs/WinDrvr
>> Remove StopSpam to reply
>>
>>
>>
>>
>> “Deepak Gupta” wrote in message
>> news:xxxxx@ntdev.
>> …
>> > On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:
>> >
>> >> Well normally NDIS stuff is at system load time, and the values you
>> >> mention
>> >> are only useable on boot drivers.
>> >
>> >
>> > I tried associating my driver with “Extended Base” group. It gets the
>> > highest tag value and thus ensuring my requirement
>> > of all “Extended Base” group drivers loaded first.
>> >
>> > Still I find that It is loading quite earlier (few of the drivers in
>> > “Extended Base” are yet to be loaded on which my driver depends).
>> >
>> > Regards
>> > Deepak
>> >
>> >
>> >>
>> >>
>> >> –
>> >> Don Burn (MVP, Windows DDK)
>> >> Windows Filesystem and Driver Consulting
>> >> Website: http://www.windrvr.com
>> >> Blog: http://msmvps.com/blogs/WinDrvr
>> >> Remove StopSpam to reply
>> >>
>> >>
>> >>
>> >>
>> >> “Deepak Gupta” wrote in message
>> >> news:xxxxx@ntdev.
>> >> …
>> >> >I have a root enumerated device.
>> >> >
>> >> > Driver for this device is from NDIS group.
>> >> >
>> >> > In booting phase, I want to delay the loading of driver till the
>> >> > time
>> >> > all
>> >> > drivers in group “Extended Base” has been loaded.
>> >> >
>> >> > I have tried setting the “DependOnService” and “DependOnGroup”
>> >> > values
>> >> > in
>> >> > service entry of driver.
>> >> >
>> >> > But is not working out.
>> >> >
>> >> > Is there any thing that I am missing while setting these registry
>> >> > values?
>> >> > or Does some body know some other alternative.
>> >> >
>> >> > Regards
>> >> > Deepak
>> >> >
>> >>
>> >>
>> >>
>> >> —
>> >> NTDEV is sponsored by OSR
>> >>
>> >> For our schedule of WDF, WDM, debugging and other seminars 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
>> >>
>> >
>>
>>
>>
>> —
>> NTDEV is sponsored by OSR
>>
>> For our schedule of WDF, WDM, debugging and other seminars 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
>>
>

On 1/5/09, Don Burn wrote:
> You do not tell windows of the dependancy, you either have the bus driver
> enumerate your NDIS device, or if your driver is NDIS WDM you use
> IoRegisterPlugPlayNotification to get the interface once it is available.

hmm…
I do call "IoRegisterPlugPlayNotification " for notification of
arrival of my interface in DriverEntry of my NDIS Miniport.
It then calls “MiniportInitialize” immediatly.
But since “MiniportInitialize” needs some information from the
interface otherwise it will fail.
and Interface creation is done at later stage because driver creating
the interface is loaded later in sequence.

> Personally, I would have the bus driver enumerate the device.

The driver which creates these interfaces doesn’t support child device
creations on user request and still under discussions for creating
child devices.

>
>
> –
> Don Burn (MVP, Windows DDK)
> Windows Filesystem and Driver Consulting
> Website: http://www.windrvr.com
> Blog: http://msmvps.com/blogs/WinDrvr
> Remove StopSpam to reply
>
>
>
>
> “Deepak Gupta” wrote in message news:xxxxx@ntdev…
>> On Mon, Jan 5, 2009 at 7:58 PM, Don Burn wrote:
>>
>>> Once you get into Plug and Play all bets are off, as to when you drive
>>> will
>>> be loaded. Why do you want it to be at a certain point in the process?
>>> There are approachs such as dependancies on device interfaces that are
>>> used
>>> with PnP.
>>>
>>
>> Yes, It depends on a device interface created by a bus driver which is
>> part
>> of “Extended Base” group.
>> How to tell Windows of this dependency?
>>
>>
>>>
>>> –
>>> Don Burn (MVP, Windows DDK)
>>> Windows Filesystem and Driver Consulting
>>> Website: http://www.windrvr.com
>>> Blog: http://msmvps.com/blogs/WinDrvr
>>> Remove StopSpam to reply
>>>
>>>
>>>
>>>
>>> “Deepak Gupta” wrote in message
>>> news:xxxxx@ntdev.
>>> …
>>> > On Mon, Jan 5, 2009 at 7:04 PM, Don Burn wrote:
>>> >
>>> >> Well normally NDIS stuff is at system load time, and the values you
>>> >> mention
>>> >> are only useable on boot drivers.
>>> >
>>> >
>>> > I tried associating my driver with “Extended Base” group. It gets the
>>> > highest tag value and thus ensuring my requirement
>>> > of all “Extended Base” group drivers loaded first.
>>> >
>>> > Still I find that It is loading quite earlier (few of the drivers in
>>> > “Extended Base” are yet to be loaded on which my driver depends).
>>> >
>>> > Regards
>>> > Deepak
>>> >
>>> >
>>> >>
>>> >>
>>> >> –
>>> >> Don Burn (MVP, Windows DDK)
>>> >> Windows Filesystem and Driver Consulting
>>> >> Website: http://www.windrvr.com
>>> >> Blog: http://msmvps.com/blogs/WinDrvr
>>> >> Remove StopSpam to reply
>>> >>
>>> >>
>>> >>
>>> >>
>>> >> “Deepak Gupta” wrote in message
>>> >> news:xxxxx@ntdev.
>>> >> …
>>> >> >I have a root enumerated device.
>>> >> >
>>> >> > Driver for this device is from NDIS group.
>>> >> >
>>> >> > In booting phase, I want to delay the loading of driver till the
>>> >> > time
>>> >> > all
>>> >> > drivers in group “Extended Base” has been loaded.
>>> >> >
>>> >> > I have tried setting the “DependOnService” and “DependOnGroup”
>>> >> > values
>>> >> > in
>>> >> > service entry of driver.
>>> >> >
>>> >> > But is not working out.
>>> >> >
>>> >> > Is there any thing that I am missing while setting these registry
>>> >> > values?
>>> >> > or Does some body know some other alternative.
>>> >> >
>>> >> > Regards
>>> >> > Deepak
>>> >> >
>>> >>
>>> >>
>>> >>
>>> >> —
>>> >> NTDEV is sponsored by OSR
>>> >>
>>> >> For our schedule of WDF, WDM, debugging and other seminars 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
>>> >>
>>> >
>>>
>>>
>>>
>>> —
>>> NTDEV is sponsored by OSR
>>>
>>> For our schedule of WDF, WDM, debugging and other seminars 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
>>>
>>
>
>
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars 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
>