From - Wed Sep 24 14:57:00 1997 Path: news.mitre.org!blanket.mitre.org!agate!newsgate.duke.edu!nntprelay.mathworks.com!newsfeed.direct.ca!news.he.net!newshub.cts.com!newsfeed.cts.com!cmkrnl!jeh From: jeh@cmkrnl.com (Jamie Hanrahan) Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode Subject: Re: ISR can't access User buffer HELP!!!!! Message-ID: <1997Sep24.094915.8222@cmkrnl> Date: 24 Sep 97 09:49:15 PST References: <34283caf.349039037@news.connectnet.com> <3429058A.C61F676C@vireo.com> Organization: Kernel Mode Systems, San Diego, CA Lines: 21 In article <3429058A.C61F676C@vireo.com>, Fred Hewett writes: > Jamie Hanrahan wrote: > >> To get an address that is usable in arbitrary thread context, you must >> call MmGetSystemAddressForMdl(Irp->MdlAddress). You must do this in >> the context of the requesting thread (ie in the dispatch routine that >> handles the IRP). > > Please explain why it is necessary to be in the context of the requesting thread > given that (1) there is a pointer to a struct _EPROCESS in the MDL, and (2) the > DDK sample ATDISK calls this service from its StartIo routine. Um, because I goofed! You're right, it isn't necessary. IRQL <= DISPATCH_LEVEL is all that's required. Thanks! --- Jamie Hanrahan, Kernel Mode Systems, San Diego CA Internet: jeh@cmkrnl.com (JH645) CompuServe: 74140,2055 drivers, internals, networks, applications, and training for VMS and Windows NT NT driver FAQ, links, and other information: http://www.cmkrnl.com/ If you post a reply in news, please don't e-mail it too.