1 /*++
2
3 Copyright (c) Microsoft Corporation. All rights reserved.
4
5 _WdfVersionBuild_
6
7 Module Name:
8
9 wdfresource.h
10
11 Abstract:
12
13 This defines the DDIs for hardware resources
14
15 Environment:
16
17 kernel mode only
18
19 Revision History:
20
21 --*/
22
23 //
24 // NOTE: This header is generated by stubwork. Please make any
25 // modifications to the corresponding template files
26 // (.x or .y) and use stubwork to regenerate the header
27 //
28
29 #ifndef _WDFRESOURCE_H_
30 #define _WDFRESOURCE_H_
31
32 #ifndef WDF_EXTERN_C
33 #ifdef __cplusplus
34 #define WDF_EXTERN_C extern "C"
35 #define WDF_EXTERN_C_START extern "C" {
36 #define WDF_EXTERN_C_END }
37 #else
38 #define WDF_EXTERN_C
39 #define WDF_EXTERN_C_START
40 #define WDF_EXTERN_C_END
41 #endif
42 #endif
43
44 WDF_EXTERN_C_START
45
46
47
48 #if (NTDDI_VERSION >= NTDDI_WIN2K)
49
50 #define WDF_INSERT_AT_END ((ULONG) -1)
51
52
53
54 //
55 // WDF Function: WdfIoResourceRequirementsListSetSlotNumber
56 //
57 typedef
58 _IRQL_requires_max_(DISPATCH_LEVEL)
59 WDFAPI
60 VOID
61 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER)(
62 _In_
63 PWDF_DRIVER_GLOBALS DriverGlobals,
64 _In_
65 WDFIORESREQLIST RequirementsList,
66 _In_
67 ULONG SlotNumber
68 );
69
_IRQL_requires_max_(DISPATCH_LEVEL)70 _IRQL_requires_max_(DISPATCH_LEVEL)
71 FORCEINLINE
72 VOID
73 WdfIoResourceRequirementsListSetSlotNumber(
74 _In_
75 WDFIORESREQLIST RequirementsList,
76 _In_
77 ULONG SlotNumber
78 )
79 {
80 ((PFN_WDFIORESOURCEREQUIREMENTSLISTSETSLOTNUMBER) WdfFunctions[WdfIoResourceRequirementsListSetSlotNumberTableIndex])(WdfDriverGlobals, RequirementsList, SlotNumber);
81 }
82
83 //
84 // WDF Function: WdfIoResourceRequirementsListSetInterfaceType
85 //
86 typedef
87 _IRQL_requires_max_(DISPATCH_LEVEL)
88 WDFAPI
89 VOID
90 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE)(
91 _In_
92 PWDF_DRIVER_GLOBALS DriverGlobals,
93 _In_
94 WDFIORESREQLIST RequirementsList,
95 _In_
96 _Strict_type_match_
97 INTERFACE_TYPE InterfaceType
98 );
99
_IRQL_requires_max_(DISPATCH_LEVEL)100 _IRQL_requires_max_(DISPATCH_LEVEL)
101 FORCEINLINE
102 VOID
103 WdfIoResourceRequirementsListSetInterfaceType(
104 _In_
105 WDFIORESREQLIST RequirementsList,
106 _In_
107 _Strict_type_match_
108 INTERFACE_TYPE InterfaceType
109 )
110 {
111 ((PFN_WDFIORESOURCEREQUIREMENTSLISTSETINTERFACETYPE) WdfFunctions[WdfIoResourceRequirementsListSetInterfaceTypeTableIndex])(WdfDriverGlobals, RequirementsList, InterfaceType);
112 }
113
114 //
115 // WDF Function: WdfIoResourceRequirementsListAppendIoResList
116 //
117 typedef
118 _Must_inspect_result_
119 _IRQL_requires_max_(DISPATCH_LEVEL)
120 WDFAPI
121 NTSTATUS
122 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST)(
123 _In_
124 PWDF_DRIVER_GLOBALS DriverGlobals,
125 _In_
126 WDFIORESREQLIST RequirementsList,
127 _In_
128 WDFIORESLIST IoResList
129 );
130
131 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)132 _IRQL_requires_max_(DISPATCH_LEVEL)
133 FORCEINLINE
134 NTSTATUS
135 WdfIoResourceRequirementsListAppendIoResList(
136 _In_
137 WDFIORESREQLIST RequirementsList,
138 _In_
139 WDFIORESLIST IoResList
140 )
141 {
142 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTAPPENDIORESLIST) WdfFunctions[WdfIoResourceRequirementsListAppendIoResListTableIndex])(WdfDriverGlobals, RequirementsList, IoResList);
143 }
144
145 //
146 // WDF Function: WdfIoResourceRequirementsListInsertIoResList
147 //
148 typedef
149 _Must_inspect_result_
150 _IRQL_requires_max_(DISPATCH_LEVEL)
151 WDFAPI
152 NTSTATUS
153 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST)(
154 _In_
155 PWDF_DRIVER_GLOBALS DriverGlobals,
156 _In_
157 WDFIORESREQLIST RequirementsList,
158 _In_
159 WDFIORESLIST IoResList,
160 _In_
161 ULONG Index
162 );
163
164 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)165 _IRQL_requires_max_(DISPATCH_LEVEL)
166 FORCEINLINE
167 NTSTATUS
168 WdfIoResourceRequirementsListInsertIoResList(
169 _In_
170 WDFIORESREQLIST RequirementsList,
171 _In_
172 WDFIORESLIST IoResList,
173 _In_
174 ULONG Index
175 )
176 {
177 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTINSERTIORESLIST) WdfFunctions[WdfIoResourceRequirementsListInsertIoResListTableIndex])(WdfDriverGlobals, RequirementsList, IoResList, Index);
178 }
179
180 //
181 // WDF Function: WdfIoResourceRequirementsListGetCount
182 //
183 typedef
184 _IRQL_requires_max_(DISPATCH_LEVEL)
185 WDFAPI
186 ULONG
187 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT)(
188 _In_
189 PWDF_DRIVER_GLOBALS DriverGlobals,
190 _In_
191 WDFIORESREQLIST RequirementsList
192 );
193
_IRQL_requires_max_(DISPATCH_LEVEL)194 _IRQL_requires_max_(DISPATCH_LEVEL)
195 FORCEINLINE
196 ULONG
197 WdfIoResourceRequirementsListGetCount(
198 _In_
199 WDFIORESREQLIST RequirementsList
200 )
201 {
202 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTGETCOUNT) WdfFunctions[WdfIoResourceRequirementsListGetCountTableIndex])(WdfDriverGlobals, RequirementsList);
203 }
204
205 //
206 // WDF Function: WdfIoResourceRequirementsListGetIoResList
207 //
208 typedef
209 _IRQL_requires_max_(DISPATCH_LEVEL)
210 WDFAPI
211 WDFIORESLIST
212 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST)(
213 _In_
214 PWDF_DRIVER_GLOBALS DriverGlobals,
215 _In_
216 WDFIORESREQLIST RequirementsList,
217 _In_
218 ULONG Index
219 );
220
_IRQL_requires_max_(DISPATCH_LEVEL)221 _IRQL_requires_max_(DISPATCH_LEVEL)
222 FORCEINLINE
223 WDFIORESLIST
224 WdfIoResourceRequirementsListGetIoResList(
225 _In_
226 WDFIORESREQLIST RequirementsList,
227 _In_
228 ULONG Index
229 )
230 {
231 return ((PFN_WDFIORESOURCEREQUIREMENTSLISTGETIORESLIST) WdfFunctions[WdfIoResourceRequirementsListGetIoResListTableIndex])(WdfDriverGlobals, RequirementsList, Index);
232 }
233
234 //
235 // WDF Function: WdfIoResourceRequirementsListRemove
236 //
237 typedef
238 _IRQL_requires_max_(DISPATCH_LEVEL)
239 WDFAPI
240 VOID
241 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE)(
242 _In_
243 PWDF_DRIVER_GLOBALS DriverGlobals,
244 _In_
245 WDFIORESREQLIST RequirementsList,
246 _In_
247 ULONG Index
248 );
249
_IRQL_requires_max_(DISPATCH_LEVEL)250 _IRQL_requires_max_(DISPATCH_LEVEL)
251 FORCEINLINE
252 VOID
253 WdfIoResourceRequirementsListRemove(
254 _In_
255 WDFIORESREQLIST RequirementsList,
256 _In_
257 ULONG Index
258 )
259 {
260 ((PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVE) WdfFunctions[WdfIoResourceRequirementsListRemoveTableIndex])(WdfDriverGlobals, RequirementsList, Index);
261 }
262
263 //
264 // WDF Function: WdfIoResourceRequirementsListRemoveByIoResList
265 //
266 typedef
267 _IRQL_requires_max_(DISPATCH_LEVEL)
268 WDFAPI
269 VOID
270 (STDCALL *PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST)(
271 _In_
272 PWDF_DRIVER_GLOBALS DriverGlobals,
273 _In_
274 WDFIORESREQLIST RequirementsList,
275 _In_
276 WDFIORESLIST IoResList
277 );
278
_IRQL_requires_max_(DISPATCH_LEVEL)279 _IRQL_requires_max_(DISPATCH_LEVEL)
280 FORCEINLINE
281 VOID
282 WdfIoResourceRequirementsListRemoveByIoResList(
283 _In_
284 WDFIORESREQLIST RequirementsList,
285 _In_
286 WDFIORESLIST IoResList
287 )
288 {
289 ((PFN_WDFIORESOURCEREQUIREMENTSLISTREMOVEBYIORESLIST) WdfFunctions[WdfIoResourceRequirementsListRemoveByIoResListTableIndex])(WdfDriverGlobals, RequirementsList, IoResList);
290 }
291
292 //
293 // WDF Function: WdfIoResourceListCreate
294 //
295 typedef
296 _Must_inspect_result_
297 _IRQL_requires_max_(DISPATCH_LEVEL)
298 WDFAPI
299 NTSTATUS
300 (STDCALL *PFN_WDFIORESOURCELISTCREATE)(
301 _In_
302 PWDF_DRIVER_GLOBALS DriverGlobals,
303 _In_
304 WDFIORESREQLIST RequirementsList,
305 _In_opt_
306 PWDF_OBJECT_ATTRIBUTES Attributes,
307 _Out_
308 WDFIORESLIST* ResourceList
309 );
310
311 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)312 _IRQL_requires_max_(DISPATCH_LEVEL)
313 FORCEINLINE
314 NTSTATUS
315 WdfIoResourceListCreate(
316 _In_
317 WDFIORESREQLIST RequirementsList,
318 _In_opt_
319 PWDF_OBJECT_ATTRIBUTES Attributes,
320 _Out_
321 WDFIORESLIST* ResourceList
322 )
323 {
324 return ((PFN_WDFIORESOURCELISTCREATE) WdfFunctions[WdfIoResourceListCreateTableIndex])(WdfDriverGlobals, RequirementsList, Attributes, ResourceList);
325 }
326
327 //
328 // WDF Function: WdfIoResourceListAppendDescriptor
329 //
330 typedef
331 _Must_inspect_result_
332 _IRQL_requires_max_(DISPATCH_LEVEL)
333 WDFAPI
334 NTSTATUS
335 (STDCALL *PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR)(
336 _In_
337 PWDF_DRIVER_GLOBALS DriverGlobals,
338 _In_
339 WDFIORESLIST ResourceList,
340 _In_
341 PIO_RESOURCE_DESCRIPTOR Descriptor
342 );
343
344 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)345 _IRQL_requires_max_(DISPATCH_LEVEL)
346 FORCEINLINE
347 NTSTATUS
348 WdfIoResourceListAppendDescriptor(
349 _In_
350 WDFIORESLIST ResourceList,
351 _In_
352 PIO_RESOURCE_DESCRIPTOR Descriptor
353 )
354 {
355 return ((PFN_WDFIORESOURCELISTAPPENDDESCRIPTOR) WdfFunctions[WdfIoResourceListAppendDescriptorTableIndex])(WdfDriverGlobals, ResourceList, Descriptor);
356 }
357
358 //
359 // WDF Function: WdfIoResourceListInsertDescriptor
360 //
361 typedef
362 _Must_inspect_result_
363 _IRQL_requires_max_(DISPATCH_LEVEL)
364 WDFAPI
365 NTSTATUS
366 (STDCALL *PFN_WDFIORESOURCELISTINSERTDESCRIPTOR)(
367 _In_
368 PWDF_DRIVER_GLOBALS DriverGlobals,
369 _In_
370 WDFIORESLIST ResourceList,
371 _In_
372 PIO_RESOURCE_DESCRIPTOR Descriptor,
373 _In_
374 ULONG Index
375 );
376
377 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)378 _IRQL_requires_max_(DISPATCH_LEVEL)
379 FORCEINLINE
380 NTSTATUS
381 WdfIoResourceListInsertDescriptor(
382 _In_
383 WDFIORESLIST ResourceList,
384 _In_
385 PIO_RESOURCE_DESCRIPTOR Descriptor,
386 _In_
387 ULONG Index
388 )
389 {
390 return ((PFN_WDFIORESOURCELISTINSERTDESCRIPTOR) WdfFunctions[WdfIoResourceListInsertDescriptorTableIndex])(WdfDriverGlobals, ResourceList, Descriptor, Index);
391 }
392
393 //
394 // WDF Function: WdfIoResourceListUpdateDescriptor
395 //
396 typedef
397 _IRQL_requires_max_(DISPATCH_LEVEL)
398 WDFAPI
399 VOID
400 (STDCALL *PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR)(
401 _In_
402 PWDF_DRIVER_GLOBALS DriverGlobals,
403 _In_
404 WDFIORESLIST ResourceList,
405 _In_
406 PIO_RESOURCE_DESCRIPTOR Descriptor,
407 _In_
408 ULONG Index
409 );
410
_IRQL_requires_max_(DISPATCH_LEVEL)411 _IRQL_requires_max_(DISPATCH_LEVEL)
412 FORCEINLINE
413 VOID
414 WdfIoResourceListUpdateDescriptor(
415 _In_
416 WDFIORESLIST ResourceList,
417 _In_
418 PIO_RESOURCE_DESCRIPTOR Descriptor,
419 _In_
420 ULONG Index
421 )
422 {
423 ((PFN_WDFIORESOURCELISTUPDATEDESCRIPTOR) WdfFunctions[WdfIoResourceListUpdateDescriptorTableIndex])(WdfDriverGlobals, ResourceList, Descriptor, Index);
424 }
425
426 //
427 // WDF Function: WdfIoResourceListGetCount
428 //
429 typedef
430 _IRQL_requires_max_(DISPATCH_LEVEL)
431 WDFAPI
432 ULONG
433 (STDCALL *PFN_WDFIORESOURCELISTGETCOUNT)(
434 _In_
435 PWDF_DRIVER_GLOBALS DriverGlobals,
436 _In_
437 WDFIORESLIST ResourceList
438 );
439
_IRQL_requires_max_(DISPATCH_LEVEL)440 _IRQL_requires_max_(DISPATCH_LEVEL)
441 FORCEINLINE
442 ULONG
443 WdfIoResourceListGetCount(
444 _In_
445 WDFIORESLIST ResourceList
446 )
447 {
448 return ((PFN_WDFIORESOURCELISTGETCOUNT) WdfFunctions[WdfIoResourceListGetCountTableIndex])(WdfDriverGlobals, ResourceList);
449 }
450
451 //
452 // WDF Function: WdfIoResourceListGetDescriptor
453 //
454 typedef
455 _IRQL_requires_max_(DISPATCH_LEVEL)
456 WDFAPI
457 PIO_RESOURCE_DESCRIPTOR
458 (STDCALL *PFN_WDFIORESOURCELISTGETDESCRIPTOR)(
459 _In_
460 PWDF_DRIVER_GLOBALS DriverGlobals,
461 _In_
462 WDFIORESLIST ResourceList,
463 _In_
464 ULONG Index
465 );
466
_IRQL_requires_max_(DISPATCH_LEVEL)467 _IRQL_requires_max_(DISPATCH_LEVEL)
468 FORCEINLINE
469 PIO_RESOURCE_DESCRIPTOR
470 WdfIoResourceListGetDescriptor(
471 _In_
472 WDFIORESLIST ResourceList,
473 _In_
474 ULONG Index
475 )
476 {
477 return ((PFN_WDFIORESOURCELISTGETDESCRIPTOR) WdfFunctions[WdfIoResourceListGetDescriptorTableIndex])(WdfDriverGlobals, ResourceList, Index);
478 }
479
480 //
481 // WDF Function: WdfIoResourceListRemove
482 //
483 typedef
484 _IRQL_requires_max_(DISPATCH_LEVEL)
485 WDFAPI
486 VOID
487 (STDCALL *PFN_WDFIORESOURCELISTREMOVE)(
488 _In_
489 PWDF_DRIVER_GLOBALS DriverGlobals,
490 _In_
491 WDFIORESLIST ResourceList,
492 _In_
493 ULONG Index
494 );
495
_IRQL_requires_max_(DISPATCH_LEVEL)496 _IRQL_requires_max_(DISPATCH_LEVEL)
497 FORCEINLINE
498 VOID
499 WdfIoResourceListRemove(
500 _In_
501 WDFIORESLIST ResourceList,
502 _In_
503 ULONG Index
504 )
505 {
506 ((PFN_WDFIORESOURCELISTREMOVE) WdfFunctions[WdfIoResourceListRemoveTableIndex])(WdfDriverGlobals, ResourceList, Index);
507 }
508
509 //
510 // WDF Function: WdfIoResourceListRemoveByDescriptor
511 //
512 typedef
513 _IRQL_requires_max_(DISPATCH_LEVEL)
514 WDFAPI
515 VOID
516 (STDCALL *PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR)(
517 _In_
518 PWDF_DRIVER_GLOBALS DriverGlobals,
519 _In_
520 WDFIORESLIST ResourceList,
521 _In_
522 PIO_RESOURCE_DESCRIPTOR Descriptor
523 );
524
_IRQL_requires_max_(DISPATCH_LEVEL)525 _IRQL_requires_max_(DISPATCH_LEVEL)
526 FORCEINLINE
527 VOID
528 WdfIoResourceListRemoveByDescriptor(
529 _In_
530 WDFIORESLIST ResourceList,
531 _In_
532 PIO_RESOURCE_DESCRIPTOR Descriptor
533 )
534 {
535 ((PFN_WDFIORESOURCELISTREMOVEBYDESCRIPTOR) WdfFunctions[WdfIoResourceListRemoveByDescriptorTableIndex])(WdfDriverGlobals, ResourceList, Descriptor);
536 }
537
538 //
539 // WDF Function: WdfCmResourceListAppendDescriptor
540 //
541 typedef
542 _Must_inspect_result_
543 _IRQL_requires_max_(DISPATCH_LEVEL)
544 WDFAPI
545 NTSTATUS
546 (STDCALL *PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR)(
547 _In_
548 PWDF_DRIVER_GLOBALS DriverGlobals,
549 _In_
550 WDFCMRESLIST List,
551 _In_
552 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
553 );
554
555 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)556 _IRQL_requires_max_(DISPATCH_LEVEL)
557 FORCEINLINE
558 NTSTATUS
559 WdfCmResourceListAppendDescriptor(
560 _In_
561 WDFCMRESLIST List,
562 _In_
563 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
564 )
565 {
566 return ((PFN_WDFCMRESOURCELISTAPPENDDESCRIPTOR) WdfFunctions[WdfCmResourceListAppendDescriptorTableIndex])(WdfDriverGlobals, List, Descriptor);
567 }
568
569 //
570 // WDF Function: WdfCmResourceListInsertDescriptor
571 //
572 typedef
573 _Must_inspect_result_
574 _IRQL_requires_max_(DISPATCH_LEVEL)
575 WDFAPI
576 NTSTATUS
577 (STDCALL *PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR)(
578 _In_
579 PWDF_DRIVER_GLOBALS DriverGlobals,
580 _In_
581 WDFCMRESLIST List,
582 _In_
583 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
584 _In_
585 ULONG Index
586 );
587
588 _Must_inspect_result_
_IRQL_requires_max_(DISPATCH_LEVEL)589 _IRQL_requires_max_(DISPATCH_LEVEL)
590 FORCEINLINE
591 NTSTATUS
592 WdfCmResourceListInsertDescriptor(
593 _In_
594 WDFCMRESLIST List,
595 _In_
596 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor,
597 _In_
598 ULONG Index
599 )
600 {
601 return ((PFN_WDFCMRESOURCELISTINSERTDESCRIPTOR) WdfFunctions[WdfCmResourceListInsertDescriptorTableIndex])(WdfDriverGlobals, List, Descriptor, Index);
602 }
603
604 //
605 // WDF Function: WdfCmResourceListGetCount
606 //
607 typedef
608 _IRQL_requires_max_(DISPATCH_LEVEL)
609 WDFAPI
610 ULONG
611 (STDCALL *PFN_WDFCMRESOURCELISTGETCOUNT)(
612 _In_
613 PWDF_DRIVER_GLOBALS DriverGlobals,
614 _In_
615 WDFCMRESLIST List
616 );
617
_IRQL_requires_max_(DISPATCH_LEVEL)618 _IRQL_requires_max_(DISPATCH_LEVEL)
619 FORCEINLINE
620 ULONG
621 WdfCmResourceListGetCount(
622 _In_
623 WDFCMRESLIST List
624 )
625 {
626 return ((PFN_WDFCMRESOURCELISTGETCOUNT) WdfFunctions[WdfCmResourceListGetCountTableIndex])(WdfDriverGlobals, List);
627 }
628
629 //
630 // WDF Function: WdfCmResourceListGetDescriptor
631 //
632 typedef
633 _IRQL_requires_max_(DISPATCH_LEVEL)
634 WDFAPI
635 PCM_PARTIAL_RESOURCE_DESCRIPTOR
636 (STDCALL *PFN_WDFCMRESOURCELISTGETDESCRIPTOR)(
637 _In_
638 PWDF_DRIVER_GLOBALS DriverGlobals,
639 _In_
640 WDFCMRESLIST List,
641 _In_
642 ULONG Index
643 );
644
_IRQL_requires_max_(DISPATCH_LEVEL)645 _IRQL_requires_max_(DISPATCH_LEVEL)
646 FORCEINLINE
647 PCM_PARTIAL_RESOURCE_DESCRIPTOR
648 WdfCmResourceListGetDescriptor(
649 _In_
650 WDFCMRESLIST List,
651 _In_
652 ULONG Index
653 )
654 {
655 return ((PFN_WDFCMRESOURCELISTGETDESCRIPTOR) WdfFunctions[WdfCmResourceListGetDescriptorTableIndex])(WdfDriverGlobals, List, Index);
656 }
657
658 //
659 // WDF Function: WdfCmResourceListRemove
660 //
661 typedef
662 _IRQL_requires_max_(DISPATCH_LEVEL)
663 WDFAPI
664 VOID
665 (STDCALL *PFN_WDFCMRESOURCELISTREMOVE)(
666 _In_
667 PWDF_DRIVER_GLOBALS DriverGlobals,
668 _In_
669 WDFCMRESLIST List,
670 _In_
671 ULONG Index
672 );
673
_IRQL_requires_max_(DISPATCH_LEVEL)674 _IRQL_requires_max_(DISPATCH_LEVEL)
675 FORCEINLINE
676 VOID
677 WdfCmResourceListRemove(
678 _In_
679 WDFCMRESLIST List,
680 _In_
681 ULONG Index
682 )
683 {
684 ((PFN_WDFCMRESOURCELISTREMOVE) WdfFunctions[WdfCmResourceListRemoveTableIndex])(WdfDriverGlobals, List, Index);
685 }
686
687 //
688 // WDF Function: WdfCmResourceListRemoveByDescriptor
689 //
690 typedef
691 _IRQL_requires_max_(DISPATCH_LEVEL)
692 WDFAPI
693 VOID
694 (STDCALL *PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR)(
695 _In_
696 PWDF_DRIVER_GLOBALS DriverGlobals,
697 _In_
698 WDFCMRESLIST List,
699 _In_
700 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
701 );
702
_IRQL_requires_max_(DISPATCH_LEVEL)703 _IRQL_requires_max_(DISPATCH_LEVEL)
704 FORCEINLINE
705 VOID
706 WdfCmResourceListRemoveByDescriptor(
707 _In_
708 WDFCMRESLIST List,
709 _In_
710 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor
711 )
712 {
713 ((PFN_WDFCMRESOURCELISTREMOVEBYDESCRIPTOR) WdfFunctions[WdfCmResourceListRemoveByDescriptorTableIndex])(WdfDriverGlobals, List, Descriptor);
714 }
715
716
717
718 #endif // (NTDDI_VERSION >= NTDDI_WIN2K)
719
720
721 WDF_EXTERN_C_END
722
723 #endif // _WDFRESOURCE_H_
724
725