171:
62:
time remaining by 1. When the counter drops to zero, the thread scheduler has to be invoked to choose the next thread to be executed on that processor and dispatcher to perform a context switch. Since the clock interrupt occurs at a much higher IRQL, it will be desirable to perform this thread
66:
When working with streaming audio or video that uses interrupts, DPCs are used to process the audio in each buffer as they stream in. If another DPC (from a poorly written driver) takes too long and another interrupt generates a new buffer of data, before the first one can be processed, a
35:) to defer required but lower-priority tasks for later execution. This permits device drivers and other low-level event consumers to perform the high-priority part of their processing quickly, and schedule non-critical additional processing for execution at a lower priority.
63:
dispatching which is a less critical task at a later time when the processor's IRQL drops. So the clock interrupt handler requests a DPC object and adds it to the end of the DPC queue which will process the dispatching when the processor's IRQL drops to DPC/Dispatch level.
57:
For example, when the clock interrupt is generated, the clock interrupt handler generally increments the counter of the current thread to calculate the total execution time of that thread, and decrements its
50:. Each processor has a separate DPC queue. DPCs have three priority levels: low, medium, and high. By default, all DPCs are set to medium priority. When Windows drops to an
54:
of
Dispatch/DPC level, it checks the DPC queue for any pending DPCs and executes them until the queue is empty or some other interrupt with a higher IRQL occurs.
87:
212:
97:
241:
118:
139:
205:
39:
47:
103:
198:
68:
231:
236:
46:
or some other kernel mode program issues DPC requests. DPC requests are added to the end of a DPC
178:
93:
32:
28:
182:
51:
225:
43:
170:
143:
59:
89:
Windows 2000 Device Driver Book: A Guide for
Programmers, Second Edition, The
38:
DPCs are implemented by DPC objects which are created and initialized by the
31:
operating system mechanism which allows high-priority tasks (e.g. an
186:
119:Microsoft Docs: Deferred Procedure Calls (DPCs)
206:
8:
16:Microsoft Windows operating system mechanism
213:
199:
130:
86:Art Baker & Jerry Lozano. (2000).
7:
167:
165:
185:. You can help Knowledge (XXG) by
14:
169:
138:Ute Eberhardt (27 June 2012).
1:
142:. Thesycon.de. Archived from
258:
164:
242:Microsoft Windows stubs
21:Deferred Procedure Call
140:"DPC Latency Checker"
146:on 15 October 2017
194:
193:
179:Microsoft Windows
99:978-0-13-020431-8
92:. Prentice Hall.
33:interrupt handler
29:Microsoft Windows
249:
215:
208:
201:
173:
166:
156:
155:
153:
151:
135:
115:
113:
111:
106:on 15 April 2012
102:. Archived from
257:
256:
252:
251:
250:
248:
247:
246:
222:
221:
220:
219:
162:
160:
159:
149:
147:
137:
136:
132:
109:
107:
100:
85:
77:
17:
12:
11:
5:
255:
253:
245:
244:
239:
234:
224:
223:
218:
217:
210:
203:
195:
192:
191:
174:
158:
157:
129:
128:
127:
126:
122:
121:
116:
98:
82:
81:
76:
73:
15:
13:
10:
9:
6:
4:
3:
2:
254:
243:
240:
238:
235:
233:
230:
229:
227:
216:
211:
209:
204:
202:
197:
196:
190:
188:
184:
181:article is a
180:
175:
172:
168:
163:
145:
141:
134:
131:
124:
123:
120:
117:
105:
101:
95:
91:
90:
84:
83:
79:
78:
74:
72:
70:
64:
61:
55:
53:
49:
45:
44:device driver
41:
36:
34:
30:
26:
22:
187:expanding it
176:
161:
148:. Retrieved
144:the original
133:
108:. Retrieved
104:the original
88:
65:
56:
37:
24:
20:
18:
232:Subroutines
237:Interrupts
226:Categories
150:14 October
110:7 November
75:References
71:results.
125:Specific
69:drop-out
80:General
60:quantum
42:when a
27:) is a
96:
40:kernel
177:This
48:queue
183:stub
152:2017
112:2012
94:ISBN
52:IRQL
25:DPC
228::
19:A
214:e
207:t
200:v
189:.
154:.
114:.
23:(
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.