From - Mon Oct 13 11:16:20 1997 Path: news.mitre.org!blanket.mitre.org!agate!newsgate.duke.edu!nntprelay.mathworks.com!newsfeed.internetmci.com!24.128.1.125!chnws03.mediaone.net!24.128.1.107!chnws04.ne.mediaone.net!not-for-mail From: "Fred " Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode Subject: Re: "IoCompleteRequest();" before "return STATUS_PENDING;"? Date: Fri, 10 Oct 1997 14:02:48 -0400 Organization: MediaOne -=- Northeast Region Lines: 16 Message-ID: <61lqlr$7e$1@brnws01.ne.mediaone.net> References: <343bcc92.0@luxy.d.ginster.de> <343E4A92.FBD8E10C@ftp.com> NNTP-Posting-Host: swift.ne.mediaone.net X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOle: Produced By Microsoft MimeOLE V4.71.1712.3 Slava Monich wrote in message <343E4A92.FBD8E10C@ftp.com>... >Dirk Juelich wrote: >> >> I have a basic device driver design problem. Is it allowed to call >> IoCompleteRequest() for an IRP after IoMarkIrpPending() but _before_ >> the dispatch routine has returned STATUS_PENDING? > >What your dispatch routine returns ABSOLUTELY DOES NOT MATTER. If you return STATUS_PENDING, you must call IoMarkIrpPending. NT Insider (http://www.osr.com) had an excellent explanation of why this is the case in their May '97 issue.