storport miniport driver unload is at wrong IRQL

I can’t tell if I’m asking a question or just angry. I have a rather ‘interesting’ minport driver that has shutdown work that MUST be done at PASSIVE. I’m trying to find a ‘polite’ way to perform the work at PASSIVE and I can’t seem to find one.

I was expecting that the DriverObject->DriverUnload routine would be called at PASSIVE. Well, that is not the case. The STORport class driver, in it’s infinite wisdom, has decided that calling DriverUnload at DISPATCH is just fine.

I’ve saved the default DriverUnload pointer, put mine in it’s place, my routine is called as expected but at the unexpected IRQL of DISPATCH. When I’m finished with my work I call the routine that STORport originally placed in DriverObject->DriverUnload.

That felt like the ‘least nasty’ way of getting to PASSIVE during shutdown/unload.

So, now I’m stumped. Has anyone out there needed to do this sort of thing and if so how did you do it? I hate to leave something spinning in a for() loop at DISPATCH while I queue a work item to the system to handle my PASSIVE shutdown needs but at the moment I don’t see much of an alternative. And, if I do that, would it even be safe on a single processor system or would I just deadlock?

Whimper,
Robert.

Attach WinDbg and look an stack to see where is Unload initiated.
I had a problem when a dispatch function (DispatchIO) in a driver called at Dispatch level. This dispatch function should be called in Passive level. Originally I was thought it was a bug in Windows but after debugging I found that another driver called first KeAcquireSpinLock( rise IRQL to Dispatch Level) and later IoCallDriver, which in fact was called in Dispatch Level. IoCallDriver triggered DispatchIO which was called at Dispatch Level instead of Passive Level as I expected. The driver was not a miniport StorPort driver but such scenario may be happened in the miniport driver also.

Igor Sharovar

> I was expecting that the DriverObject->DriverUnload routine would be called at PASSIVE.

For me, this is strange that DriverUnload is called at shutdown.

Shutdown is handled by other paths.

And, if I do that, would it even be safe on a single processor system or would I just deadlock?

Deadlock.


Maxim S. Shatskih
Windows DDK MVP
xxxxx@storagecraft.com
http://www.storagecraft.com

Well, I found a potential solution I’m working through. It appears
that if you DO NOT handle the power requests through StartIO/BuildIO,
the PnP function and POWER function, the class driver will call your
AdapterControl at PASSIVE with a remove or stop. That appears to be a
way to solve my problem. I’m still debugging but the problems do not
appear to related to the class driver or the miniport driver (hardware
related). I’ll send out an update when I’m finished just to confirm
which solution works. My guess is that I’m not the first nor the last
person that has needed to do this.

Best,
Robert.

On Tue, Dec 7, 2010 at 5:04 PM, Maxim S. Shatskih
wrote:
>> I was expecting that the DriverObject->DriverUnload routine would be called at PASSIVE.
>
> For me, this is strange that DriverUnload is called at shutdown.
>
> Shutdown is handled by other paths.
>
>>And, if I do that, would it even be safe on a single processor system or would I just deadlock?
>
> Deadlock.
>
> –
> Maxim S. Shatskih
> Windows DDK MVP
> xxxxx@storagecraft.com
> http://www.storagecraft.com
>
>
> —
> 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
>


Robert Randall | xxxxx@gmail.com

>Well, I found a potential solution I’m working through. It appears that if you DO NOT handle the >power requests through StartIO/BuildIO, the PnP function and POWER function, the class driver >will call your AdapterControl at PASSIVE with a remove or stop. That appears to be a way to solve >my problem.

You should not expect that your AdapterControl would be called always on Passive Level. Look at the following link and see remark about HwAdapterControlRoutine:
http://msdn.microsoft.com/en-us/library/ff567025(VS.85).aspx

Igor Sharovar

I did know that but I didn’t realize that if I returned an error from
the StartIo/BuildIo routine that the class driver would ACCEPT that
without getting angry with me. That was the part that surprised me.
I should check the permutations and see if I can return a good result
from StartIo/BuildIo AND still get the call into AdapterControl for
the SAME activity. That may be more ‘preferred’ to the class driver.

Thanks!

Best,
Robert.

On Wed, Dec 8, 2010 at 11:24 AM, wrote:
>>Well, I found a potential solution I’m working through. It appears that if you DO NOT handle the >power requests through StartIO/BuildIO, the PnP function and POWER function, the class driver >will call your AdapterControl at PASSIVE with a remove or stop. That appears to be a way to solve >my problem.
>
> You should not expect that your ?AdapterControl would be called always on Passive Level. Look at the following link and see remark about HwAdapterControlRoutine:
> http://msdn.microsoft.com/en-us/library/ff567025(VS.85).aspx
>
> Igor Sharovar
>
> —
> 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
>


Robert Randall | xxxxx@gmail.com

I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.

Igor Sharovar

Oh my, does it ever!! Already worried about that one :wink:

On Wed, Dec 8, 2010 at 11:56 AM, wrote:
> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>
> Igor Sharovar
>
>
>
> —
> 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
>


Robert Randall | xxxxx@gmail.com

Well, now it appears that interrupt handling has been disabled
somehow. When I go to execute my shutdown code, I need to send i/o to
the PCI device (HBA) to properly shut it down. I send I/O down to the
card but I never receive an interrupt. It feels like STORport has
masked my interrupt before calling AdapterControl…

HELP!
Lost in the woods…
Robert.

On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
wrote:
> Oh my, does it ever!! ?Already worried about that one :wink:
>
> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>
>> Igor Sharovar
>>
>>
>>
>> —
>> 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
>>
>
>
>
> –
> Robert Randall | xxxxx@gmail.com
>


Robert Randall | xxxxx@gmail.com

Not only are interrupts disabled but there is no guarantee that the
adapter is even present.

Mark Roddy

On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
wrote:
> Well, now it appears that interrupt handling has been disabled
> somehow. ?When I go to execute my shutdown code, I need to send i/o to
> the PCI device (HBA) to properly shut it down. ?I send I/O down to the
> card but I never receive an interrupt. ?It feels like STORport has
> masked my interrupt before calling AdapterControl…
>
> HELP!
> Lost in the woods…
> Robert.
>
> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
> wrote:
>> Oh my, does it ever!! ?Already worried about that one :wink:
>>
>> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>
>>> Igor Sharovar
>>>
>>>
>>>
>>> —
>>> 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
>>>
>>
>>
>>
>> –
>> Robert Randall | xxxxx@gmail.com
>>
>
>
>
> –
> Robert Randall | xxxxx@gmail.com
>
> —
> 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
>

Yeah, I found that out. Not much I can do with this mess except
demand at least 2 processors… yuck.

On Thu, Dec 9, 2010 at 12:36 PM, Mark Roddy wrote:
> Not only are interrupts disabled but there is no guarantee that the
> adapter is even present.
>
> Mark Roddy
>
>
>
> On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
> wrote:
>> Well, now it appears that interrupt handling has been disabled
>> somehow. ?When I go to execute my shutdown code, I need to send i/o to
>> the PCI device (HBA) to properly shut it down. ?I send I/O down to the
>> card but I never receive an interrupt. ?It feels like STORport has
>> masked my interrupt before calling AdapterControl…
>>
>> HELP!
>> Lost in the woods…
>> Robert.
>>
>> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
>> wrote:
>>> Oh my, does it ever!! ?Already worried about that one :wink:
>>>
>>> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>>
>>>> Igor Sharovar
>>>>
>>>>
>>>>
>>>> —
>>>> 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
>>>>
>>>
>>>
>>>
>>> –
>>> Robert Randall | xxxxx@gmail.com
>>>
>>
>>
>>
>> –
>> Robert Randall | xxxxx@gmail.com
>>
>> —
>> 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
>


Robert Randall | xxxxx@gmail.com

I don’t understand your response.

It seems you are caching data in your controller - so you should
register for the various flush notifications.

Mark Roddy

On Thu, Dec 9, 2010 at 3:29 PM, Robert Randall
wrote:
> Yeah, I found that out. ?Not much I can do with this mess except
> demand at least 2 processors… ?yuck.
>
> On Thu, Dec 9, 2010 at 12:36 PM, Mark Roddy wrote:
>> Not only are interrupts disabled but there is no guarantee that the
>> adapter is even present.
>>
>> Mark Roddy
>>
>>
>>
>> On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
>> wrote:
>>> Well, now it appears that interrupt handling has been disabled
>>> somehow. ?When I go to execute my shutdown code, I need to send i/o to
>>> the PCI device (HBA) to properly shut it down. ?I send I/O down to the
>>> card but I never receive an interrupt. ?It feels like STORport has
>>> masked my interrupt before calling AdapterControl…
>>>
>>> HELP!
>>> Lost in the woods…
>>> Robert.
>>>
>>> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
>>> wrote:
>>>> Oh my, does it ever!! ?Already worried about that one :wink:
>>>>
>>>> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>>>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>>>
>>>>> Igor Sharovar
>>>>>
>>>>>
>>>>>
>>>>> —
>>>>> 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
>>>>>
>>>>
>>>>
>>>>
>>>> –
>>>> Robert Randall | xxxxx@gmail.com
>>>>
>>>
>>>
>>>
>>> –
>>> Robert Randall | xxxxx@gmail.com
>>>
>>> —
>>> 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
>>
>
>
>
> –
> Robert Randall | xxxxx@gmail.com
>
> —
> 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
>

Ah, that had not occurred to me… The card does not cache any data destined for the persistent storage but it does cache some internal statistics that need to be written out during shutdown. Do the various flush notifications occur at PASSIVE or are they at DISPATCH?

Robert.

On Dec 9, 2010, at 5:09 PM, Mark Roddy wrote:

I don’t understand your response.

It seems you are caching data in your controller - so you should
register for the various flush notifications.

Mark Roddy

On Thu, Dec 9, 2010 at 3:29 PM, Robert Randall
wrote:
>> Yeah, I found that out. Not much I can do with this mess except
>> demand at least 2 processors… yuck.
>>
>> On Thu, Dec 9, 2010 at 12:36 PM, Mark Roddy wrote:
>>> Not only are interrupts disabled but there is no guarantee that the
>>> adapter is even present.
>>>
>>> Mark Roddy
>>>
>>>
>>>
>>> On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
>>> wrote:
>>>> Well, now it appears that interrupt handling has been disabled
>>>> somehow. When I go to execute my shutdown code, I need to send i/o to
>>>> the PCI device (HBA) to properly shut it down. I send I/O down to the
>>>> card but I never receive an interrupt. It feels like STORport has
>>>> masked my interrupt before calling AdapterControl…
>>>>
>>>> HELP!
>>>> Lost in the woods…
>>>> Robert.
>>>>
>>>> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
>>>> wrote:
>>>>> Oh my, does it ever!! Already worried about that one :wink:
>>>>>
>>>>> On Wed, Dec 8, 2010 at 11:56 AM, wrote:
>>>>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>>>>
>>>>>> Igor Sharovar
>>>>>>
>>>>>>
>>>>>>
>>>>>> —
>>>>>> 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
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> –
>>>>> Robert Randall | xxxxx@gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> –
>>>> Robert Randall | xxxxx@gmail.com
>>>>
>>>> —
>>>> 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
>>>
>>
>>
>>
>> –
>> Robert Randall | xxxxx@gmail.com
>>
>> —
>> 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

Probably dispatch in startio but less than dispatch in buildio.

Mark Roddy

On Mon, Dec 13, 2010 at 12:03 PM, Robert Randall
wrote:
> Ah, that had not occurred to me… ?The card does not cache any data destined for the persistent storage but it does cache some internal statistics that need to be written out during shutdown. ?Do the various flush notifications occur at PASSIVE or are they at DISPATCH?
>
> Robert.
>
> On Dec 9, 2010, at 5:09 PM, Mark Roddy wrote:
>
>> I don’t understand your response.
>>
>> It seems you are caching data in your controller - so you should
>> register for the various flush notifications.
>>
>> Mark Roddy
>>
>>
>>
>> On Thu, Dec 9, 2010 at 3:29 PM, Robert Randall
>> wrote:
>>> Yeah, I found that out. ?Not much I can do with this mess except
>>> demand at least 2 processors… ?yuck.
>>>
>>> On Thu, Dec 9, 2010 at 12:36 PM, Mark Roddy wrote:
>>>> Not only are interrupts disabled but there is no guarantee that the
>>>> adapter is even present.
>>>>
>>>> Mark Roddy
>>>>
>>>>
>>>>
>>>> On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
>>>> wrote:
>>>>> Well, now it appears that interrupt handling has been disabled
>>>>> somehow. ?When I go to execute my shutdown code, I need to send i/o to
>>>>> the PCI device (HBA) to properly shut it down. ?I send I/O down to the
>>>>> card but I never receive an interrupt. ?It feels like STORport has
>>>>> masked my interrupt before calling AdapterControl…
>>>>>
>>>>> HELP!
>>>>> Lost in the woods…
>>>>> Robert.
>>>>>
>>>>> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
>>>>> wrote:
>>>>>> Oh my, does it ever!! ?Already worried about that one :wink:
>>>>>>
>>>>>> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>>>>>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>>>>>
>>>>>>> Igor Sharovar
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> —
>>>>>>> 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
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> –
>>>>>> Robert Randall | xxxxx@gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> –
>>>>> Robert Randall | xxxxx@gmail.com
>>>>>
>>>>> —
>>>>> 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
>>>>
>>>
>>>
>>>
>>> –
>>> Robert Randall | xxxxx@gmail.com
>>>
>>> —
>>> 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
>

I was able to figure out a way to get past this problem in a ‘healthy’
manner. I’ve yet to test it on a single processor box but it feels
like it should work.

I start a spare thread at passive that waits on an event. When it
receives the event it does my shutdown work at passive and completes
the PnP IRP back to storport. This appears to work fine.

-Robert.

On Mon, Dec 13, 2010 at 12:24 PM, Mark Roddy wrote:
> Probably dispatch in startio but less than dispatch in buildio.
>
> Mark Roddy
>
>
>
> On Mon, Dec 13, 2010 at 12:03 PM, Robert Randall
> wrote:
>> Ah, that had not occurred to me… ?The card does not cache any data destined for the persistent storage but it does cache some internal statistics that need to be written out during shutdown. ?Do the various flush notifications occur at PASSIVE or are they at DISPATCH?
>>
>> Robert.
>>
>> On Dec 9, 2010, at 5:09 PM, Mark Roddy wrote:
>>
>>> I don’t understand your response.
>>>
>>> It seems you are caching data in your controller - so you should
>>> register for the various flush notifications.
>>>
>>> Mark Roddy
>>>
>>>
>>>
>>> On Thu, Dec 9, 2010 at 3:29 PM, Robert Randall
>>> wrote:
>>>> Yeah, I found that out. ?Not much I can do with this mess except
>>>> demand at least 2 processors… ?yuck.
>>>>
>>>> On Thu, Dec 9, 2010 at 12:36 PM, Mark Roddy wrote:
>>>>> Not only are interrupts disabled but there is no guarantee that the
>>>>> adapter is even present.
>>>>>
>>>>> Mark Roddy
>>>>>
>>>>>
>>>>>
>>>>> On Thu, Dec 9, 2010 at 12:30 PM, Robert Randall
>>>>> wrote:
>>>>>> Well, now it appears that interrupt handling has been disabled
>>>>>> somehow. ?When I go to execute my shutdown code, I need to send i/o to
>>>>>> the PCI device (HBA) to properly shut it down. ?I send I/O down to the
>>>>>> card but I never receive an interrupt. ?It feels like STORport has
>>>>>> masked my interrupt before calling AdapterControl…
>>>>>>
>>>>>> HELP!
>>>>>> Lost in the woods…
>>>>>> Robert.
>>>>>>
>>>>>> On Wed, Dec 8, 2010 at 12:00 PM, Robert Randall
>>>>>> wrote:
>>>>>>> Oh my, does it ever!! ?Already worried about that one :wink:
>>>>>>>
>>>>>>> On Wed, Dec 8, 2010 at 11:56 AM, ? wrote:
>>>>>>>> I would suggest to you to test your finding in all platforms you are going to use. Implementation of storage stack stuff changes in each version of Windows.
>>>>>>>>
>>>>>>>> Igor Sharovar
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> —
>>>>>>>> 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
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> –
>>>>>>> Robert Randall | xxxxx@gmail.com
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> –
>>>>>> Robert Randall | xxxxx@gmail.com
>>>>>>
>>>>>> —
>>>>>> 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
>>>>>
>>>>
>>>>
>>>>
>>>> –
>>>> Robert Randall | xxxxx@gmail.com
>>>>
>>>> —
>>>> 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
>>
>
> —
> 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
>


Robert Randall | xxxxx@gmail.com