Path: news.mitre.org!blanket.mitre.org!news.tufts.edu!cam-news-feed5.bbnplanet.com!cam-news-hub1.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!howland.erols.net!usc!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: Kernel-mode APCs
Message-ID: <1997Nov10.194236.8291@cmkrnl>
Date: 10 Nov 97 19:42:36 PST
References: <ctcEJG1q3.I6K@netcom.com>
Organization: Kernel Mode Systems, San Diego, CA
Lines: 22

In article <ctcEJG1q3.I6K@netcom.com>, ctc@netcom.com (ARTHUR HSIAO) writes:
> I can understand why user-mode APCs are necessary, but could someone explain 
> what would be the advantage of using kernel-mode APCs?  

They're used anytime NT is executing in arbitrary thread context (like 
in a driver DPC routine) and wants a particular thread to run a 
kernel-mode routine (like the final phases of I/O completion 
processing, such as copying a buffered I/O read buffer back to the 
process-space buffer).

> Is there any 
> relationship between kernel-moode and user-mode APCs?

Sometimes.  The I/O completion kernel APC routine may enqueue the 
user-mode APC (aka the I/O completion callback).  

	--- 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.