xref: /reactos/sdk/include/wdf/kmdf/1.17/wdfresource.h (revision 545df815)
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