From: Bhentai on
Hi,
I'm faced with something weird when calling DeviceIoControl in a user
application on my UMDF driver based on the osrusbfx2 driver. What happens is
that if I unplug my usb device and a user application calls DeviceIoControl
with a previously valid handle to my driver, the call hangs there. My driver
is totally unmounted so normally, the pnp manager would know that the handle
used by DeviceIoControl is not longer valid and the call would return a
failure but instead it hangs. Is it something that is not done right in my
driver that causes this? Should I manage in the user app and verify that the
handle is still valid?

Regards
From: Doron Holan [MSFT] on
if you still have an open handle, the driver is still loaded b/c of that
outstanding handle. is the call to DeviceIoControl on an OVERLAPPED handle
?

--

This posting is provided "AS IS" with no warranties, and confers no rights.


"Bhentai" <b.lajoie(a)daptech.com> wrote in message
news:A248EF36-8B1E-4BE5-96B3-1B137DA6486A(a)microsoft.com...
> Hi,
> I'm faced with something weird when calling DeviceIoControl in a user
> application on my UMDF driver based on the osrusbfx2 driver. What happens
> is
> that if I unplug my usb device and a user application calls
> DeviceIoControl
> with a previously valid handle to my driver, the call hangs there. My
> driver
> is totally unmounted so normally, the pnp manager would know that the
> handle
> used by DeviceIoControl is not longer valid and the call would return a
> failure but instead it hangs. Is it something that is not done right in my
> driver that causes this? Should I manage in the user app and verify that
> the
> handle is still valid?
>
> Regards

From: Bhentai on
No, the DeviceIoControl is not Overlapped and the Createfile for the handle
doesn't have the FILE_FLAG_OVERLAPPED specified.

"Doron Holan [MSFT]" wrote:

> if you still have an open handle, the driver is still loaded b/c of that
> outstanding handle. is the call to DeviceIoControl on an OVERLAPPED handle
> ?
>
> --
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Bhentai" <b.lajoie(a)daptech.com> wrote in message
> news:A248EF36-8B1E-4BE5-96B3-1B137DA6486A(a)microsoft.com...
> > Hi,
> > I'm faced with something weird when calling DeviceIoControl in a user
> > application on my UMDF driver based on the osrusbfx2 driver. What happens
> > is
> > that if I unplug my usb device and a user application calls
> > DeviceIoControl
> > with a previously valid handle to my driver, the call hangs there. My
> > driver
> > is totally unmounted so normally, the pnp manager would know that the
> > handle
> > used by DeviceIoControl is not longer valid and the call would return a
> > failure but instead it hangs. Is it something that is not done right in my
> > driver that causes this? Should I manage in the user app and verify that
> > the
> > handle is still valid?
> >
> > Regards
>
> .
>
From: Doron Holan [MSFT] on
my guess is that you have not completed some IWdfIoRequest in your UMDF
driver. it is probably parked in a non power managed io queue

d

--

This posting is provided "AS IS" with no warranties, and confers no rights.


"Bhentai" <b.lajoie(a)daptech.com> wrote in message
news:8CD9CA27-0511-486A-8E78-F60C70CEE349(a)microsoft.com...
> No, the DeviceIoControl is not Overlapped and the Createfile for the
> handle
> doesn't have the FILE_FLAG_OVERLAPPED specified.
>
> "Doron Holan [MSFT]" wrote:
>
>> if you still have an open handle, the driver is still loaded b/c of that
>> outstanding handle. is the call to DeviceIoControl on an OVERLAPPED
>> handle
>> ?
>>
>> --
>>
>> This posting is provided "AS IS" with no warranties, and confers no
>> rights.
>>
>>
>> "Bhentai" <b.lajoie(a)daptech.com> wrote in message
>> news:A248EF36-8B1E-4BE5-96B3-1B137DA6486A(a)microsoft.com...
>> > Hi,
>> > I'm faced with something weird when calling DeviceIoControl in a user
>> > application on my UMDF driver based on the osrusbfx2 driver. What
>> > happens
>> > is
>> > that if I unplug my usb device and a user application calls
>> > DeviceIoControl
>> > with a previously valid handle to my driver, the call hangs there. My
>> > driver
>> > is totally unmounted so normally, the pnp manager would know that the
>> > handle
>> > used by DeviceIoControl is not longer valid and the call would return a
>> > failure but instead it hangs. Is it something that is not done right in
>> > my
>> > driver that causes this? Should I manage in the user app and verify
>> > that
>> > the
>> > handle is still valid?
>> >
>> > Regards
>>
>> .
>>
From: Bhentai on
You were right, it was something that had to do with my non power managed
queue. So I changed my queue to power manage and now the DeviceIoControl call
isn't blocked and returns ERROR_OPERATION_ABORTED, which is alright.

Thank a lot.

"Doron Holan [MSFT]" wrote:

> my guess is that you have not completed some IWdfIoRequest in your UMDF
> driver. it is probably parked in a non power managed io queue
>
> d
>
> --
>
> This posting is provided "AS IS" with no warranties, and confers no rights.
>
>
> "Bhentai" <b.lajoie(a)daptech.com> wrote in message
> news:8CD9CA27-0511-486A-8E78-F60C70CEE349(a)microsoft.com...
> > No, the DeviceIoControl is not Overlapped and the Createfile for the
> > handle
> > doesn't have the FILE_FLAG_OVERLAPPED specified.
> >
> > "Doron Holan [MSFT]" wrote:
> >
> >> if you still have an open handle, the driver is still loaded b/c of that
> >> outstanding handle. is the call to DeviceIoControl on an OVERLAPPED
> >> handle
> >> ?
> >>
> >> --
> >>
> >> This posting is provided "AS IS" with no warranties, and confers no
> >> rights.
> >>
> >>
> >> "Bhentai" <b.lajoie(a)daptech.com> wrote in message
> >> news:A248EF36-8B1E-4BE5-96B3-1B137DA6486A(a)microsoft.com...
> >> > Hi,
> >> > I'm faced with something weird when calling DeviceIoControl in a user
> >> > application on my UMDF driver based on the osrusbfx2 driver. What
> >> > happens
> >> > is
> >> > that if I unplug my usb device and a user application calls
> >> > DeviceIoControl
> >> > with a previously valid handle to my driver, the call hangs there. My
> >> > driver
> >> > is totally unmounted so normally, the pnp manager would know that the
> >> > handle
> >> > used by DeviceIoControl is not longer valid and the call would return a
> >> > failure but instead it hangs. Is it something that is not done right in
> >> > my
> >> > driver that causes this? Should I manage in the user app and verify
> >> > that
> >> > the
> >> > handle is still valid?
> >> >
> >> > Regards
> >>
> >> .
> >>
> .
>