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