Re: DeviceIoControl, Overlapped vs Non-Overlapped: How it affects driver design?

From: Don Burn (burn_at_stopspam.acm.org)
Date: 09/07/04


Date: Tue, 7 Sep 2004 11:46:44 -0400

The I/O manager takes care of this. You should design your IOCTL code based
on what happens in the driver, i.e. requests that can be done quickly with
no long waits should just complete. Requests that must wait for data or
other requests, should be marked pending and handled asynchronously.

-- 
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply
"Dennis Burns" <dburns@rtessentials.com> wrote in message
news:ONttiBPlEHA.2504@TK2MSFTNGP14.phx.gbl...
> As a relative newbie at driver design, I'm struggling to get the "big
> picture". I'm still struggling with this issue, relating to how my driver
is
> called.
>
> An IOCTL of my own creation may be called using the user-mode function
> DeviceIoControl, in either a synchronous (non-overlapped) or asynchronous
> (overlapped) mode. Do I need to consider the calling mode when
implementing
> the driver? Or, will the IO Manager take care of the user-mode
> notification/completion details?
>
> Thanks in advance for the help,
> Dennis
>
>


Relevant Pages

  • Re: Overlapped IO Fail with Error 995 i.e. ERROR_OPERATION_ABORTED
    ... Does your driver ever set STATUS_CANCELLED to the requests? ... Ans: It is custom driver. ... DeviceIoControl will do that. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: [PATCH 1/2] lld busy status exporting interface
    ... they detect busy state on its low-level device like host/bus/device. ... If the request stacking driver dispatches and submits requests to ... stacking driver can check it and stop dispatching requests if busy. ... Stacking drivers like request-based dm don't. ...
    (Linux-Kernel)
  • Re: which kind of driver to design for AoE protocol?
    ... With your idea of having requests distributed to ... We do have working ATA-over-Ethernet driver shipping. ... drivers have been very concerned about overlapping ... overlapping of CPU operations to really make things fly. ...
    (microsoft.public.development.device.drivers)
  • Re: [PATCH] bitmap: fix bitmap_find_free_region()
    ... fixed size coherent region in the board code at start-up, ... the driver allocates depends on what a user-space application requests - ... And the driver does not check ... does if after scanning the bitmap no suitable free region is found? ...
    (Linux-Kernel)
  • Re: [dm-devel] Re: dm: bounce_pfn limit added
    ... I2o on this node is able to handle only requests with up to 38 segments. ... In this way underlying device calls blk_recalc_rq_segmentsto recount number ... Unfortunately there is not any checks and when i2o driver handles this incorrect ... the patch propagates the restriction of i2o ...
    (Linux-Kernel)