1 /*++ 2 3 Module Name: VfFxDynamics.h 4 5 Abstract: 6 Generated header for WDF API Verifier hooks 7 8 Environment: 9 kernel mode only 10 11 Warning: manual changes to this file will be lost. 12 --*/ 13 14 #ifndef _VFFXDYNAMICS_H_ 15 #define _VFFXDYNAMICS_H_ 16 17 18 _Must_inspect_result_ 19 _IRQL_requires_max_(PASSIVE_LEVEL) 20 WDFAPI 21 NTSTATUS 22 VFWDFEXPORT(WdfChildListCreate)( 23 _In_ 24 PWDF_DRIVER_GLOBALS DriverGlobals, 25 _In_ 26 WDFDEVICE Device, 27 _In_ 28 PWDF_CHILD_LIST_CONFIG Config, 29 _In_opt_ 30 PWDF_OBJECT_ATTRIBUTES ChildListAttributes, 31 _Out_ 32 WDFCHILDLIST* ChildList 33 ); 34 35 _IRQL_requires_max_(DISPATCH_LEVEL) 36 WDFAPI 37 WDFDEVICE 38 VFWDFEXPORT(WdfChildListGetDevice)( 39 _In_ 40 PWDF_DRIVER_GLOBALS DriverGlobals, 41 _In_ 42 WDFCHILDLIST ChildList 43 ); 44 45 _Must_inspect_result_ 46 _IRQL_requires_max_(DISPATCH_LEVEL) 47 WDFAPI 48 WDFDEVICE 49 VFWDFEXPORT(WdfChildListRetrievePdo)( 50 _In_ 51 PWDF_DRIVER_GLOBALS DriverGlobals, 52 _In_ 53 WDFCHILDLIST ChildList, 54 _Inout_ 55 PWDF_CHILD_RETRIEVE_INFO RetrieveInfo 56 ); 57 58 _Must_inspect_result_ 59 _IRQL_requires_max_(DISPATCH_LEVEL) 60 WDFAPI 61 NTSTATUS 62 VFWDFEXPORT(WdfChildListRetrieveAddressDescription)( 63 _In_ 64 PWDF_DRIVER_GLOBALS DriverGlobals, 65 _In_ 66 WDFCHILDLIST ChildList, 67 _In_ 68 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, 69 _Inout_ 70 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 71 ); 72 73 _IRQL_requires_max_(DISPATCH_LEVEL) 74 WDFAPI 75 VOID 76 VFWDFEXPORT(WdfChildListBeginScan)( 77 _In_ 78 PWDF_DRIVER_GLOBALS DriverGlobals, 79 _In_ 80 WDFCHILDLIST ChildList 81 ); 82 83 _IRQL_requires_max_(DISPATCH_LEVEL) 84 WDFAPI 85 VOID 86 VFWDFEXPORT(WdfChildListEndScan)( 87 _In_ 88 PWDF_DRIVER_GLOBALS DriverGlobals, 89 _In_ 90 WDFCHILDLIST ChildList 91 ); 92 93 _IRQL_requires_max_(DISPATCH_LEVEL) 94 WDFAPI 95 VOID 96 VFWDFEXPORT(WdfChildListBeginIteration)( 97 _In_ 98 PWDF_DRIVER_GLOBALS DriverGlobals, 99 _In_ 100 WDFCHILDLIST ChildList, 101 _In_ 102 PWDF_CHILD_LIST_ITERATOR Iterator 103 ); 104 105 _Must_inspect_result_ 106 _IRQL_requires_max_(DISPATCH_LEVEL) 107 WDFAPI 108 NTSTATUS 109 VFWDFEXPORT(WdfChildListRetrieveNextDevice)( 110 _In_ 111 PWDF_DRIVER_GLOBALS DriverGlobals, 112 _In_ 113 WDFCHILDLIST ChildList, 114 _In_ 115 PWDF_CHILD_LIST_ITERATOR Iterator, 116 _Out_ 117 WDFDEVICE* Device, 118 _Inout_opt_ 119 PWDF_CHILD_RETRIEVE_INFO Info 120 ); 121 122 _IRQL_requires_max_(DISPATCH_LEVEL) 123 WDFAPI 124 VOID 125 VFWDFEXPORT(WdfChildListEndIteration)( 126 _In_ 127 PWDF_DRIVER_GLOBALS DriverGlobals, 128 _In_ 129 WDFCHILDLIST ChildList, 130 _In_ 131 PWDF_CHILD_LIST_ITERATOR Iterator 132 ); 133 134 _Must_inspect_result_ 135 _IRQL_requires_max_(DISPATCH_LEVEL) 136 WDFAPI 137 NTSTATUS 138 VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent)( 139 _In_ 140 PWDF_DRIVER_GLOBALS DriverGlobals, 141 _In_ 142 WDFCHILDLIST ChildList, 143 _In_ 144 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription, 145 _In_opt_ 146 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 147 ); 148 149 _Must_inspect_result_ 150 _IRQL_requires_max_(DISPATCH_LEVEL) 151 WDFAPI 152 NTSTATUS 153 VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing)( 154 _In_ 155 PWDF_DRIVER_GLOBALS DriverGlobals, 156 _In_ 157 WDFCHILDLIST ChildList, 158 _In_ 159 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 160 ); 161 162 _IRQL_requires_max_(DISPATCH_LEVEL) 163 WDFAPI 164 VOID 165 VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent)( 166 _In_ 167 PWDF_DRIVER_GLOBALS DriverGlobals, 168 _In_ 169 WDFCHILDLIST ChildList 170 ); 171 172 _IRQL_requires_max_(DISPATCH_LEVEL) 173 WDFAPI 174 BOOLEAN 175 VFWDFEXPORT(WdfChildListRequestChildEject)( 176 _In_ 177 PWDF_DRIVER_GLOBALS DriverGlobals, 178 _In_ 179 WDFCHILDLIST ChildList, 180 _In_ 181 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 182 ); 183 184 _Must_inspect_result_ 185 _IRQL_requires_max_(DISPATCH_LEVEL) 186 WDFAPI 187 NTSTATUS 188 VFWDFEXPORT(WdfCollectionCreate)( 189 _In_ 190 PWDF_DRIVER_GLOBALS DriverGlobals, 191 _In_opt_ 192 PWDF_OBJECT_ATTRIBUTES CollectionAttributes, 193 _Out_ 194 WDFCOLLECTION* Collection 195 ); 196 197 _IRQL_requires_max_(DISPATCH_LEVEL) 198 WDFAPI 199 ULONG 200 VFWDFEXPORT(WdfCollectionGetCount)( 201 _In_ 202 PWDF_DRIVER_GLOBALS DriverGlobals, 203 _In_ 204 WDFCOLLECTION Collection 205 ); 206 207 _Must_inspect_result_ 208 _IRQL_requires_max_(DISPATCH_LEVEL) 209 WDFAPI 210 NTSTATUS 211 VFWDFEXPORT(WdfCollectionAdd)( 212 _In_ 213 PWDF_DRIVER_GLOBALS DriverGlobals, 214 _In_ 215 WDFCOLLECTION Collection, 216 _In_ 217 WDFOBJECT Object 218 ); 219 220 _IRQL_requires_max_(DISPATCH_LEVEL) 221 WDFAPI 222 VOID 223 VFWDFEXPORT(WdfCollectionRemove)( 224 _In_ 225 PWDF_DRIVER_GLOBALS DriverGlobals, 226 _In_ 227 WDFCOLLECTION Collection, 228 _In_ 229 WDFOBJECT Item 230 ); 231 232 _IRQL_requires_max_(DISPATCH_LEVEL) 233 WDFAPI 234 VOID 235 VFWDFEXPORT(WdfCollectionRemoveItem)( 236 _In_ 237 PWDF_DRIVER_GLOBALS DriverGlobals, 238 _In_ 239 WDFCOLLECTION Collection, 240 _In_ 241 ULONG Index 242 ); 243 244 _IRQL_requires_max_(DISPATCH_LEVEL) 245 WDFAPI 246 WDFOBJECT 247 VFWDFEXPORT(WdfCollectionGetItem)( 248 _In_ 249 PWDF_DRIVER_GLOBALS DriverGlobals, 250 _In_ 251 WDFCOLLECTION Collection, 252 _In_ 253 ULONG Index 254 ); 255 256 _IRQL_requires_max_(DISPATCH_LEVEL) 257 WDFAPI 258 WDFOBJECT 259 VFWDFEXPORT(WdfCollectionGetFirstItem)( 260 _In_ 261 PWDF_DRIVER_GLOBALS DriverGlobals, 262 _In_ 263 WDFCOLLECTION Collection 264 ); 265 266 _IRQL_requires_max_(DISPATCH_LEVEL) 267 WDFAPI 268 WDFOBJECT 269 VFWDFEXPORT(WdfCollectionGetLastItem)( 270 _In_ 271 PWDF_DRIVER_GLOBALS DriverGlobals, 272 _In_ 273 WDFCOLLECTION Collection 274 ); 275 276 _Must_inspect_result_ 277 _IRQL_requires_max_(PASSIVE_LEVEL) 278 WDFAPI 279 NTSTATUS 280 VFWDFEXPORT(WdfCommonBufferCreate)( 281 _In_ 282 PWDF_DRIVER_GLOBALS DriverGlobals, 283 _In_ 284 WDFDMAENABLER DmaEnabler, 285 _In_ 286 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 287 size_t Length, 288 _In_opt_ 289 PWDF_OBJECT_ATTRIBUTES Attributes, 290 _Out_ 291 WDFCOMMONBUFFER* CommonBuffer 292 ); 293 294 _Must_inspect_result_ 295 _IRQL_requires_max_(PASSIVE_LEVEL) 296 WDFAPI 297 NTSTATUS 298 VFWDFEXPORT(WdfCommonBufferCreateWithConfig)( 299 _In_ 300 PWDF_DRIVER_GLOBALS DriverGlobals, 301 _In_ 302 WDFDMAENABLER DmaEnabler, 303 _In_ 304 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 305 size_t Length, 306 _In_ 307 PWDF_COMMON_BUFFER_CONFIG Config, 308 _In_opt_ 309 PWDF_OBJECT_ATTRIBUTES Attributes, 310 _Out_ 311 WDFCOMMONBUFFER* CommonBuffer 312 ); 313 314 _IRQL_requires_max_(DISPATCH_LEVEL) 315 WDFAPI 316 PVOID 317 VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress)( 318 _In_ 319 PWDF_DRIVER_GLOBALS DriverGlobals, 320 _In_ 321 WDFCOMMONBUFFER CommonBuffer 322 ); 323 324 _IRQL_requires_max_(DISPATCH_LEVEL) 325 WDFAPI 326 PHYSICAL_ADDRESS 327 VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress)( 328 _In_ 329 PWDF_DRIVER_GLOBALS DriverGlobals, 330 _In_ 331 WDFCOMMONBUFFER CommonBuffer 332 ); 333 334 _IRQL_requires_max_(DISPATCH_LEVEL) 335 WDFAPI 336 size_t 337 VFWDFEXPORT(WdfCommonBufferGetLength)( 338 _In_ 339 PWDF_DRIVER_GLOBALS DriverGlobals, 340 _In_ 341 WDFCOMMONBUFFER CommonBuffer 342 ); 343 344 _Must_inspect_result_ 345 _IRQL_requires_max_(PASSIVE_LEVEL) 346 WDFAPI 347 PWDFDEVICE_INIT 348 VFWDFEXPORT(WdfControlDeviceInitAllocate)( 349 _In_ 350 PWDF_DRIVER_GLOBALS DriverGlobals, 351 _In_ 352 WDFDRIVER Driver, 353 _In_ 354 CONST UNICODE_STRING* SDDLString 355 ); 356 357 _IRQL_requires_max_(PASSIVE_LEVEL) 358 WDFAPI 359 VOID 360 VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification)( 361 _In_ 362 PWDF_DRIVER_GLOBALS DriverGlobals, 363 _In_ 364 PWDFDEVICE_INIT DeviceInit, 365 _In_ 366 PFN_WDF_DEVICE_SHUTDOWN_NOTIFICATION Notification, 367 _In_ 368 UCHAR Flags 369 ); 370 371 _IRQL_requires_max_(DISPATCH_LEVEL) 372 WDFAPI 373 VOID 374 VFWDFEXPORT(WdfControlFinishInitializing)( 375 _In_ 376 PWDF_DRIVER_GLOBALS DriverGlobals, 377 _In_ 378 WDFDEVICE Device 379 ); 380 381 _Must_inspect_result_ 382 _IRQL_requires_max_(PASSIVE_LEVEL) 383 WDFAPI 384 PWDFCXDEVICE_INIT 385 VFWDFEXPORT(WdfCxDeviceInitAllocate)( 386 _In_ 387 PWDF_DRIVER_GLOBALS DriverGlobals, 388 _In_ 389 PWDFDEVICE_INIT DeviceInit 390 ); 391 392 _Must_inspect_result_ 393 _IRQL_requires_max_(DISPATCH_LEVEL) 394 WDFAPI 395 NTSTATUS 396 VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback)( 397 _In_ 398 PWDF_DRIVER_GLOBALS DriverGlobals, 399 _In_ 400 PWDFCXDEVICE_INIT CxDeviceInit, 401 _In_ 402 PFN_WDFCXDEVICE_WDM_IRP_PREPROCESS EvtCxDeviceWdmIrpPreprocess, 403 _In_ 404 UCHAR MajorFunction, 405 _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) 406 _When_(NumMinorFunctions == 0, _In_opt_) 407 PUCHAR MinorFunctions, 408 _In_ 409 ULONG NumMinorFunctions 410 ); 411 412 _IRQL_requires_max_(DISPATCH_LEVEL) 413 WDFAPI 414 VOID 415 VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback)( 416 _In_ 417 PWDF_DRIVER_GLOBALS DriverGlobals, 418 _In_ 419 PWDFCXDEVICE_INIT CxDeviceInit, 420 _In_ 421 PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext 422 ); 423 424 _IRQL_requires_max_(DISPATCH_LEVEL) 425 WDFAPI 426 VOID 427 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)( 428 _In_ 429 PWDF_DRIVER_GLOBALS DriverGlobals, 430 _In_ 431 PWDFCXDEVICE_INIT CxDeviceInit, 432 _In_ 433 PWDF_OBJECT_ATTRIBUTES RequestAttributes 434 ); 435 436 _IRQL_requires_max_(DISPATCH_LEVEL) 437 WDFAPI 438 VOID 439 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)( 440 _In_ 441 PWDF_DRIVER_GLOBALS DriverGlobals, 442 _In_ 443 PWDFCXDEVICE_INIT CxDeviceInit, 444 _In_ 445 PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig, 446 _In_opt_ 447 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 448 ); 449 450 WDFAPI 451 VOID 452 VFWDFEXPORT(WdfCxVerifierKeBugCheck)( 453 _In_ 454 PWDF_DRIVER_GLOBALS DriverGlobals, 455 _In_opt_ 456 WDFOBJECT Object, 457 _In_ 458 ULONG BugCheckCode, 459 _In_ 460 ULONG_PTR BugCheckParameter1, 461 _In_ 462 ULONG_PTR BugCheckParameter2, 463 _In_ 464 ULONG_PTR BugCheckParameter3, 465 _In_ 466 ULONG_PTR BugCheckParameter4 467 ); 468 469 _IRQL_requires_max_(DISPATCH_LEVEL) 470 WDFAPI 471 VOID 472 VFWDFEXPORT(WdfDeviceGetDeviceState)( 473 _In_ 474 PWDF_DRIVER_GLOBALS DriverGlobals, 475 _In_ 476 WDFDEVICE Device, 477 _Out_ 478 PWDF_DEVICE_STATE DeviceState 479 ); 480 481 _IRQL_requires_max_(DISPATCH_LEVEL) 482 WDFAPI 483 VOID 484 VFWDFEXPORT(WdfDeviceSetDeviceState)( 485 _In_ 486 PWDF_DRIVER_GLOBALS DriverGlobals, 487 _In_ 488 WDFDEVICE Device, 489 _In_ 490 PWDF_DEVICE_STATE DeviceState 491 ); 492 493 _IRQL_requires_max_(DISPATCH_LEVEL) 494 WDFAPI 495 WDFDEVICE 496 VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle)( 497 _In_ 498 PWDF_DRIVER_GLOBALS DriverGlobals, 499 _In_ 500 PDEVICE_OBJECT DeviceObject 501 ); 502 503 _IRQL_requires_max_(DISPATCH_LEVEL) 504 WDFAPI 505 PDEVICE_OBJECT 506 VFWDFEXPORT(WdfDeviceWdmGetDeviceObject)( 507 _In_ 508 PWDF_DRIVER_GLOBALS DriverGlobals, 509 _In_ 510 WDFDEVICE Device 511 ); 512 513 _IRQL_requires_max_(DISPATCH_LEVEL) 514 WDFAPI 515 PDEVICE_OBJECT 516 VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice)( 517 _In_ 518 PWDF_DRIVER_GLOBALS DriverGlobals, 519 _In_ 520 WDFDEVICE Device 521 ); 522 523 _IRQL_requires_max_(DISPATCH_LEVEL) 524 WDFAPI 525 PDEVICE_OBJECT 526 VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice)( 527 _In_ 528 PWDF_DRIVER_GLOBALS DriverGlobals, 529 _In_ 530 WDFDEVICE Device 531 ); 532 533 _Must_inspect_result_ 534 _IRQL_requires_max_(DISPATCH_LEVEL) 535 WDFAPI 536 NTSTATUS 537 VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp)( 538 _In_ 539 PWDF_DRIVER_GLOBALS DriverGlobals, 540 _In_ 541 WDFDEVICE Device, 542 _In_ 543 PIRP Irp 544 ); 545 546 _Must_inspect_result_ 547 _IRQL_requires_max_(DISPATCH_LEVEL) 548 WDFAPI 549 NTSTATUS 550 VFWDFEXPORT(WdfDeviceWdmDispatchIrp)( 551 _In_ 552 PWDF_DRIVER_GLOBALS DriverGlobals, 553 _In_ 554 WDFDEVICE Device, 555 _In_ 556 PIRP Irp, 557 _In_ 558 WDFCONTEXT DispatchContext 559 ); 560 561 _Must_inspect_result_ 562 _IRQL_requires_max_(DISPATCH_LEVEL) 563 WDFAPI 564 NTSTATUS 565 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)( 566 _In_ 567 PWDF_DRIVER_GLOBALS DriverGlobals, 568 _In_ 569 WDFDEVICE Device, 570 _In_ 571 PIRP Irp, 572 _In_ 573 WDFQUEUE Queue, 574 _In_ 575 ULONG Flags 576 ); 577 578 _Must_inspect_result_ 579 _IRQL_requires_max_(DISPATCH_LEVEL) 580 WDFAPI 581 NTSTATUS 582 VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject)( 583 _In_ 584 PWDF_DRIVER_GLOBALS DriverGlobals, 585 _In_ 586 WDFDEVICE Device, 587 _In_ 588 PDEVICE_OBJECT DependentDevice 589 ); 590 591 _IRQL_requires_max_(DISPATCH_LEVEL) 592 WDFAPI 593 VOID 594 VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject)( 595 _In_ 596 PWDF_DRIVER_GLOBALS DriverGlobals, 597 _In_ 598 WDFDEVICE Device, 599 _In_ 600 PDEVICE_OBJECT DependentDevice 601 ); 602 603 _Must_inspect_result_ 604 _IRQL_requires_max_(DISPATCH_LEVEL) 605 WDFAPI 606 NTSTATUS 607 VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice)( 608 _In_ 609 PWDF_DRIVER_GLOBALS DriverGlobals, 610 _In_ 611 WDFDEVICE Device, 612 _In_ 613 PDEVICE_OBJECT PhysicalDevice 614 ); 615 616 _IRQL_requires_max_(DISPATCH_LEVEL) 617 WDFAPI 618 VOID 619 VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice)( 620 _In_ 621 PWDF_DRIVER_GLOBALS DriverGlobals, 622 _In_ 623 WDFDEVICE Device, 624 _In_ 625 PDEVICE_OBJECT PhysicalDevice 626 ); 627 628 _IRQL_requires_max_(DISPATCH_LEVEL) 629 WDFAPI 630 VOID 631 VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices)( 632 _In_ 633 PWDF_DRIVER_GLOBALS DriverGlobals, 634 _In_ 635 WDFDEVICE Device 636 ); 637 638 _IRQL_requires_max_(DISPATCH_LEVEL) 639 WDFAPI 640 WDFDRIVER 641 VFWDFEXPORT(WdfDeviceGetDriver)( 642 _In_ 643 PWDF_DRIVER_GLOBALS DriverGlobals, 644 _In_ 645 WDFDEVICE Device 646 ); 647 648 _Must_inspect_result_ 649 _IRQL_requires_max_(PASSIVE_LEVEL) 650 WDFAPI 651 NTSTATUS 652 VFWDFEXPORT(WdfDeviceRetrieveDeviceName)( 653 _In_ 654 PWDF_DRIVER_GLOBALS DriverGlobals, 655 _In_ 656 WDFDEVICE Device, 657 _In_ 658 WDFSTRING String 659 ); 660 661 _Must_inspect_result_ 662 _IRQL_requires_max_(PASSIVE_LEVEL) 663 WDFAPI 664 NTSTATUS 665 VFWDFEXPORT(WdfDeviceAssignMofResourceName)( 666 _In_ 667 PWDF_DRIVER_GLOBALS DriverGlobals, 668 _In_ 669 WDFDEVICE Device, 670 _In_ 671 PCUNICODE_STRING MofResourceName 672 ); 673 674 _IRQL_requires_max_(DISPATCH_LEVEL) 675 WDFAPI 676 WDFIOTARGET 677 VFWDFEXPORT(WdfDeviceGetIoTarget)( 678 _In_ 679 PWDF_DRIVER_GLOBALS DriverGlobals, 680 _In_ 681 WDFDEVICE Device 682 ); 683 684 _IRQL_requires_max_(DISPATCH_LEVEL) 685 WDFAPI 686 WDF_DEVICE_PNP_STATE 687 VFWDFEXPORT(WdfDeviceGetDevicePnpState)( 688 _In_ 689 PWDF_DRIVER_GLOBALS DriverGlobals, 690 _In_ 691 WDFDEVICE Device 692 ); 693 694 _IRQL_requires_max_(DISPATCH_LEVEL) 695 WDFAPI 696 WDF_DEVICE_POWER_STATE 697 VFWDFEXPORT(WdfDeviceGetDevicePowerState)( 698 _In_ 699 PWDF_DRIVER_GLOBALS DriverGlobals, 700 _In_ 701 WDFDEVICE Device 702 ); 703 704 _IRQL_requires_max_(DISPATCH_LEVEL) 705 WDFAPI 706 WDF_DEVICE_POWER_POLICY_STATE 707 VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState)( 708 _In_ 709 PWDF_DRIVER_GLOBALS DriverGlobals, 710 _In_ 711 WDFDEVICE Device 712 ); 713 714 _Must_inspect_result_ 715 _IRQL_requires_max_(DISPATCH_LEVEL) 716 WDFAPI 717 NTSTATUS 718 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)( 719 _In_ 720 PWDF_DRIVER_GLOBALS DriverGlobals, 721 _In_ 722 WDFDEVICE Device, 723 _In_ 724 PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings 725 ); 726 727 _Must_inspect_result_ 728 _IRQL_requires_max_(DISPATCH_LEVEL) 729 WDFAPI 730 NTSTATUS 731 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)( 732 _In_ 733 PWDF_DRIVER_GLOBALS DriverGlobals, 734 _In_ 735 WDFDEVICE Device, 736 _In_ 737 PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings 738 ); 739 740 _Must_inspect_result_ 741 _IRQL_requires_max_(PASSIVE_LEVEL) 742 WDFAPI 743 NTSTATUS 744 VFWDFEXPORT(WdfDeviceOpenRegistryKey)( 745 _In_ 746 PWDF_DRIVER_GLOBALS DriverGlobals, 747 _In_ 748 WDFDEVICE Device, 749 _In_ 750 ULONG DeviceInstanceKeyType, 751 _In_ 752 ACCESS_MASK DesiredAccess, 753 _In_opt_ 754 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 755 _Out_ 756 WDFKEY* Key 757 ); 758 759 _Must_inspect_result_ 760 _IRQL_requires_max_(PASSIVE_LEVEL) 761 WDFAPI 762 NTSTATUS 763 VFWDFEXPORT(WdfDeviceOpenDevicemapKey)( 764 _In_ 765 PWDF_DRIVER_GLOBALS DriverGlobals, 766 _In_ 767 WDFDEVICE Device, 768 _In_ 769 PCUNICODE_STRING KeyName, 770 _In_ 771 ACCESS_MASK DesiredAccess, 772 _In_opt_ 773 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 774 _Out_ 775 WDFKEY* Key 776 ); 777 778 _IRQL_requires_max_(DISPATCH_LEVEL) 779 WDFAPI 780 VOID 781 VFWDFEXPORT(WdfDeviceSetSpecialFileSupport)( 782 _In_ 783 PWDF_DRIVER_GLOBALS DriverGlobals, 784 _In_ 785 WDFDEVICE Device, 786 _In_ 787 WDF_SPECIAL_FILE_TYPE FileType, 788 _In_ 789 BOOLEAN FileTypeIsSupported 790 ); 791 792 _IRQL_requires_max_(DISPATCH_LEVEL) 793 WDFAPI 794 VOID 795 VFWDFEXPORT(WdfDeviceSetCharacteristics)( 796 _In_ 797 PWDF_DRIVER_GLOBALS DriverGlobals, 798 _In_ 799 WDFDEVICE Device, 800 _In_ 801 ULONG DeviceCharacteristics 802 ); 803 804 _IRQL_requires_max_(DISPATCH_LEVEL) 805 WDFAPI 806 ULONG 807 VFWDFEXPORT(WdfDeviceGetCharacteristics)( 808 _In_ 809 PWDF_DRIVER_GLOBALS DriverGlobals, 810 _In_ 811 WDFDEVICE Device 812 ); 813 814 _IRQL_requires_max_(DISPATCH_LEVEL) 815 WDFAPI 816 ULONG 817 VFWDFEXPORT(WdfDeviceGetAlignmentRequirement)( 818 _In_ 819 PWDF_DRIVER_GLOBALS DriverGlobals, 820 _In_ 821 WDFDEVICE Device 822 ); 823 824 _IRQL_requires_max_(DISPATCH_LEVEL) 825 WDFAPI 826 VOID 827 VFWDFEXPORT(WdfDeviceSetAlignmentRequirement)( 828 _In_ 829 PWDF_DRIVER_GLOBALS DriverGlobals, 830 _In_ 831 WDFDEVICE Device, 832 _In_ 833 ULONG AlignmentRequirement 834 ); 835 836 _IRQL_requires_max_(DISPATCH_LEVEL) 837 WDFAPI 838 VOID 839 VFWDFEXPORT(WdfDeviceInitFree)( 840 _In_ 841 PWDF_DRIVER_GLOBALS DriverGlobals, 842 _In_ 843 PWDFDEVICE_INIT DeviceInit 844 ); 845 846 _IRQL_requires_max_(DISPATCH_LEVEL) 847 WDFAPI 848 VOID 849 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)( 850 _In_ 851 PWDF_DRIVER_GLOBALS DriverGlobals, 852 _In_ 853 PWDFDEVICE_INIT DeviceInit, 854 _In_ 855 PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks 856 ); 857 858 _IRQL_requires_max_(DISPATCH_LEVEL) 859 WDFAPI 860 VOID 861 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)( 862 _In_ 863 PWDF_DRIVER_GLOBALS DriverGlobals, 864 _In_ 865 PWDFDEVICE_INIT DeviceInit, 866 _In_ 867 PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks 868 ); 869 870 _IRQL_requires_max_(DISPATCH_LEVEL) 871 WDFAPI 872 VOID 873 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)( 874 _In_ 875 PWDF_DRIVER_GLOBALS DriverGlobals, 876 _In_ 877 PWDFDEVICE_INIT DeviceInit, 878 _In_ 879 BOOLEAN IsPowerPolicyOwner 880 ); 881 882 _Must_inspect_result_ 883 _IRQL_requires_max_(PASSIVE_LEVEL) 884 WDFAPI 885 NTSTATUS 886 VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback)( 887 _In_ 888 PWDF_DRIVER_GLOBALS DriverGlobals, 889 _In_ 890 PWDFDEVICE_INIT DeviceInit, 891 _In_ 892 WDF_DEVICE_PNP_STATE PnpState, 893 _In_ 894 PFN_WDF_DEVICE_PNP_STATE_CHANGE_NOTIFICATION EvtDevicePnpStateChange, 895 _In_ 896 ULONG CallbackTypes 897 ); 898 899 _Must_inspect_result_ 900 _IRQL_requires_max_(PASSIVE_LEVEL) 901 WDFAPI 902 NTSTATUS 903 VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback)( 904 _In_ 905 PWDF_DRIVER_GLOBALS DriverGlobals, 906 _In_ 907 PWDFDEVICE_INIT DeviceInit, 908 _In_ 909 WDF_DEVICE_POWER_STATE PowerState, 910 _In_ 911 PFN_WDF_DEVICE_POWER_STATE_CHANGE_NOTIFICATION EvtDevicePowerStateChange, 912 _In_ 913 ULONG CallbackTypes 914 ); 915 916 _Must_inspect_result_ 917 _IRQL_requires_max_(PASSIVE_LEVEL) 918 WDFAPI 919 NTSTATUS 920 VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback)( 921 _In_ 922 PWDF_DRIVER_GLOBALS DriverGlobals, 923 _In_ 924 PWDFDEVICE_INIT DeviceInit, 925 _In_ 926 WDF_DEVICE_POWER_POLICY_STATE PowerPolicyState, 927 _In_ 928 PFN_WDF_DEVICE_POWER_POLICY_STATE_CHANGE_NOTIFICATION EvtDevicePowerPolicyStateChange, 929 _In_ 930 ULONG CallbackTypes 931 ); 932 933 _IRQL_requires_max_(DISPATCH_LEVEL) 934 WDFAPI 935 VOID 936 VFWDFEXPORT(WdfDeviceInitSetExclusive)( 937 _In_ 938 PWDF_DRIVER_GLOBALS DriverGlobals, 939 _In_ 940 PWDFDEVICE_INIT DeviceInit, 941 _In_ 942 BOOLEAN IsExclusive 943 ); 944 945 _IRQL_requires_max_(DISPATCH_LEVEL) 946 WDFAPI 947 VOID 948 VFWDFEXPORT(WdfDeviceInitSetIoType)( 949 _In_ 950 PWDF_DRIVER_GLOBALS DriverGlobals, 951 _In_ 952 PWDFDEVICE_INIT DeviceInit, 953 _In_ 954 WDF_DEVICE_IO_TYPE IoType 955 ); 956 957 _IRQL_requires_max_(DISPATCH_LEVEL) 958 WDFAPI 959 VOID 960 VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable)( 961 _In_ 962 PWDF_DRIVER_GLOBALS DriverGlobals, 963 _In_ 964 PWDFDEVICE_INIT DeviceInit 965 ); 966 967 _IRQL_requires_max_(DISPATCH_LEVEL) 968 WDFAPI 969 VOID 970 VFWDFEXPORT(WdfDeviceInitSetPowerPageable)( 971 _In_ 972 PWDF_DRIVER_GLOBALS DriverGlobals, 973 _In_ 974 PWDFDEVICE_INIT DeviceInit 975 ); 976 977 _IRQL_requires_max_(DISPATCH_LEVEL) 978 WDFAPI 979 VOID 980 VFWDFEXPORT(WdfDeviceInitSetPowerInrush)( 981 _In_ 982 PWDF_DRIVER_GLOBALS DriverGlobals, 983 _In_ 984 PWDFDEVICE_INIT DeviceInit 985 ); 986 987 _IRQL_requires_max_(DISPATCH_LEVEL) 988 WDFAPI 989 VOID 990 VFWDFEXPORT(WdfDeviceInitSetDeviceType)( 991 _In_ 992 PWDF_DRIVER_GLOBALS DriverGlobals, 993 _In_ 994 PWDFDEVICE_INIT DeviceInit, 995 _In_ 996 DEVICE_TYPE DeviceType 997 ); 998 999 _Must_inspect_result_ 1000 _IRQL_requires_max_(PASSIVE_LEVEL) 1001 WDFAPI 1002 NTSTATUS 1003 VFWDFEXPORT(WdfDeviceInitAssignName)( 1004 _In_ 1005 PWDF_DRIVER_GLOBALS DriverGlobals, 1006 _In_ 1007 PWDFDEVICE_INIT DeviceInit, 1008 _In_opt_ 1009 PCUNICODE_STRING DeviceName 1010 ); 1011 1012 _Must_inspect_result_ 1013 _IRQL_requires_max_(PASSIVE_LEVEL) 1014 WDFAPI 1015 NTSTATUS 1016 VFWDFEXPORT(WdfDeviceInitAssignSDDLString)( 1017 _In_ 1018 PWDF_DRIVER_GLOBALS DriverGlobals, 1019 _In_ 1020 PWDFDEVICE_INIT DeviceInit, 1021 _In_opt_ 1022 PCUNICODE_STRING SDDLString 1023 ); 1024 1025 _IRQL_requires_max_(DISPATCH_LEVEL) 1026 WDFAPI 1027 VOID 1028 VFWDFEXPORT(WdfDeviceInitSetDeviceClass)( 1029 _In_ 1030 PWDF_DRIVER_GLOBALS DriverGlobals, 1031 _In_ 1032 PWDFDEVICE_INIT DeviceInit, 1033 _In_ 1034 CONST GUID* DeviceClassGuid 1035 ); 1036 1037 _IRQL_requires_max_(DISPATCH_LEVEL) 1038 WDFAPI 1039 VOID 1040 VFWDFEXPORT(WdfDeviceInitSetCharacteristics)( 1041 _In_ 1042 PWDF_DRIVER_GLOBALS DriverGlobals, 1043 _In_ 1044 PWDFDEVICE_INIT DeviceInit, 1045 _In_ 1046 ULONG DeviceCharacteristics, 1047 _In_ 1048 BOOLEAN OrInValues 1049 ); 1050 1051 _IRQL_requires_max_(DISPATCH_LEVEL) 1052 WDFAPI 1053 VOID 1054 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)( 1055 _In_ 1056 PWDF_DRIVER_GLOBALS DriverGlobals, 1057 _In_ 1058 PWDFDEVICE_INIT DeviceInit, 1059 _In_ 1060 PWDF_FILEOBJECT_CONFIG FileObjectConfig, 1061 _In_opt_ 1062 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 1063 ); 1064 1065 _IRQL_requires_max_(DISPATCH_LEVEL) 1066 WDFAPI 1067 VOID 1068 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)( 1069 _In_ 1070 PWDF_DRIVER_GLOBALS DriverGlobals, 1071 _In_ 1072 PWDFDEVICE_INIT DeviceInit, 1073 _In_ 1074 PWDF_OBJECT_ATTRIBUTES RequestAttributes 1075 ); 1076 1077 _Must_inspect_result_ 1078 _IRQL_requires_max_(DISPATCH_LEVEL) 1079 WDFAPI 1080 NTSTATUS 1081 VFWDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback)( 1082 _In_ 1083 PWDF_DRIVER_GLOBALS DriverGlobals, 1084 _In_ 1085 PWDFDEVICE_INIT DeviceInit, 1086 _In_ 1087 PFN_WDFDEVICE_WDM_IRP_PREPROCESS EvtDeviceWdmIrpPreprocess, 1088 _In_ 1089 UCHAR MajorFunction, 1090 _When_(NumMinorFunctions > 0, _In_reads_bytes_(NumMinorFunctions)) 1091 _When_(NumMinorFunctions == 0, _In_opt_) 1092 PUCHAR MinorFunctions, 1093 _In_ 1094 ULONG NumMinorFunctions 1095 ); 1096 1097 _IRQL_requires_max_(DISPATCH_LEVEL) 1098 WDFAPI 1099 VOID 1100 VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback)( 1101 _In_ 1102 PWDF_DRIVER_GLOBALS DriverGlobals, 1103 _In_ 1104 PWDFDEVICE_INIT DeviceInit, 1105 _In_ 1106 PFN_WDF_IO_IN_CALLER_CONTEXT EvtIoInCallerContext 1107 ); 1108 1109 _IRQL_requires_max_(DISPATCH_LEVEL) 1110 WDFAPI 1111 VOID 1112 VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions)( 1113 _In_ 1114 PWDF_DRIVER_GLOBALS DriverGlobals, 1115 _In_ 1116 PWDFDEVICE_INIT DeviceInit, 1117 _In_ 1118 PWDF_REMOVE_LOCK_OPTIONS Options 1119 ); 1120 1121 _Must_inspect_result_ 1122 _IRQL_requires_max_(PASSIVE_LEVEL) 1123 WDFAPI 1124 NTSTATUS 1125 VFWDFEXPORT(WdfDeviceCreate)( 1126 _In_ 1127 PWDF_DRIVER_GLOBALS DriverGlobals, 1128 _Inout_ 1129 PWDFDEVICE_INIT* DeviceInit, 1130 _In_opt_ 1131 PWDF_OBJECT_ATTRIBUTES DeviceAttributes, 1132 _Out_ 1133 WDFDEVICE* Device 1134 ); 1135 1136 _IRQL_requires_max_(DISPATCH_LEVEL) 1137 WDFAPI 1138 VOID 1139 VFWDFEXPORT(WdfDeviceSetStaticStopRemove)( 1140 _In_ 1141 PWDF_DRIVER_GLOBALS DriverGlobals, 1142 _In_ 1143 WDFDEVICE Device, 1144 _In_ 1145 BOOLEAN Stoppable 1146 ); 1147 1148 _Must_inspect_result_ 1149 _IRQL_requires_max_(PASSIVE_LEVEL) 1150 WDFAPI 1151 NTSTATUS 1152 VFWDFEXPORT(WdfDeviceCreateDeviceInterface)( 1153 _In_ 1154 PWDF_DRIVER_GLOBALS DriverGlobals, 1155 _In_ 1156 WDFDEVICE Device, 1157 _In_ 1158 CONST GUID* InterfaceClassGUID, 1159 _In_opt_ 1160 PCUNICODE_STRING ReferenceString 1161 ); 1162 1163 _IRQL_requires_max_(PASSIVE_LEVEL) 1164 WDFAPI 1165 VOID 1166 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)( 1167 _In_ 1168 PWDF_DRIVER_GLOBALS DriverGlobals, 1169 _In_ 1170 WDFDEVICE Device, 1171 _In_ 1172 CONST GUID* InterfaceClassGUID, 1173 _In_opt_ 1174 PCUNICODE_STRING ReferenceString, 1175 _In_ 1176 BOOLEAN IsInterfaceEnabled 1177 ); 1178 1179 _Must_inspect_result_ 1180 _IRQL_requires_max_(PASSIVE_LEVEL) 1181 WDFAPI 1182 NTSTATUS 1183 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)( 1184 _In_ 1185 PWDF_DRIVER_GLOBALS DriverGlobals, 1186 _In_ 1187 WDFDEVICE Device, 1188 _In_ 1189 CONST GUID* InterfaceClassGUID, 1190 _In_opt_ 1191 PCUNICODE_STRING ReferenceString, 1192 _In_ 1193 WDFSTRING String 1194 ); 1195 1196 _Must_inspect_result_ 1197 _IRQL_requires_max_(PASSIVE_LEVEL) 1198 WDFAPI 1199 NTSTATUS 1200 VFWDFEXPORT(WdfDeviceCreateSymbolicLink)( 1201 _In_ 1202 PWDF_DRIVER_GLOBALS DriverGlobals, 1203 _In_ 1204 WDFDEVICE Device, 1205 _In_ 1206 PCUNICODE_STRING SymbolicLinkName 1207 ); 1208 1209 _Must_inspect_result_ 1210 _IRQL_requires_max_(PASSIVE_LEVEL) 1211 WDFAPI 1212 NTSTATUS 1213 VFWDFEXPORT(WdfDeviceQueryProperty)( 1214 _In_ 1215 PWDF_DRIVER_GLOBALS DriverGlobals, 1216 _In_ 1217 WDFDEVICE Device, 1218 _In_ 1219 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1220 _In_ 1221 ULONG BufferLength, 1222 _Out_writes_bytes_all_(BufferLength) 1223 PVOID PropertyBuffer, 1224 _Out_ 1225 PULONG ResultLength 1226 ); 1227 1228 _Must_inspect_result_ 1229 _IRQL_requires_max_(PASSIVE_LEVEL) 1230 WDFAPI 1231 NTSTATUS 1232 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)( 1233 _In_ 1234 PWDF_DRIVER_GLOBALS DriverGlobals, 1235 _In_ 1236 WDFDEVICE Device, 1237 _In_ 1238 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1239 _In_ 1240 _Strict_type_match_ 1241 POOL_TYPE PoolType, 1242 _In_opt_ 1243 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 1244 _Out_ 1245 WDFMEMORY* PropertyMemory 1246 ); 1247 1248 _IRQL_requires_max_(DISPATCH_LEVEL) 1249 WDFAPI 1250 VOID 1251 VFWDFEXPORT(WdfDeviceSetPnpCapabilities)( 1252 _In_ 1253 PWDF_DRIVER_GLOBALS DriverGlobals, 1254 _In_ 1255 WDFDEVICE Device, 1256 _In_ 1257 PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities 1258 ); 1259 1260 _IRQL_requires_max_(DISPATCH_LEVEL) 1261 WDFAPI 1262 VOID 1263 VFWDFEXPORT(WdfDeviceSetPowerCapabilities)( 1264 _In_ 1265 PWDF_DRIVER_GLOBALS DriverGlobals, 1266 _In_ 1267 WDFDEVICE Device, 1268 _In_ 1269 PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities 1270 ); 1271 1272 _IRQL_requires_max_(DISPATCH_LEVEL) 1273 WDFAPI 1274 VOID 1275 VFWDFEXPORT(WdfDeviceSetBusInformationForChildren)( 1276 _In_ 1277 PWDF_DRIVER_GLOBALS DriverGlobals, 1278 _In_ 1279 WDFDEVICE Device, 1280 _In_ 1281 PPNP_BUS_INFORMATION BusInformation 1282 ); 1283 1284 _Must_inspect_result_ 1285 _IRQL_requires_max_(DISPATCH_LEVEL) 1286 WDFAPI 1287 NTSTATUS 1288 VFWDFEXPORT(WdfDeviceIndicateWakeStatus)( 1289 _In_ 1290 PWDF_DRIVER_GLOBALS DriverGlobals, 1291 _In_ 1292 WDFDEVICE Device, 1293 _In_ 1294 NTSTATUS WaitWakeStatus 1295 ); 1296 1297 _IRQL_requires_max_(DISPATCH_LEVEL) 1298 WDFAPI 1299 VOID 1300 VFWDFEXPORT(WdfDeviceSetFailed)( 1301 _In_ 1302 PWDF_DRIVER_GLOBALS DriverGlobals, 1303 _In_ 1304 WDFDEVICE Device, 1305 _In_ 1306 WDF_DEVICE_FAILED_ACTION FailedAction 1307 ); 1308 1309 _Must_inspect_result_ 1310 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 1311 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 1312 WDFAPI 1313 NTSTATUS 1314 VFWDFEXPORT(WdfDeviceStopIdleNoTrack)( 1315 _In_ 1316 PWDF_DRIVER_GLOBALS DriverGlobals, 1317 _In_ 1318 WDFDEVICE Device, 1319 _In_ 1320 BOOLEAN WaitForD0 1321 ); 1322 1323 _IRQL_requires_max_(DISPATCH_LEVEL) 1324 WDFAPI 1325 VOID 1326 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)( 1327 _In_ 1328 PWDF_DRIVER_GLOBALS DriverGlobals, 1329 _In_ 1330 WDFDEVICE Device 1331 ); 1332 1333 _Must_inspect_result_ 1334 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 1335 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 1336 WDFAPI 1337 NTSTATUS 1338 VFWDFEXPORT(WdfDeviceStopIdleActual)( 1339 _In_ 1340 PWDF_DRIVER_GLOBALS DriverGlobals, 1341 _In_ 1342 WDFDEVICE Device, 1343 _In_ 1344 BOOLEAN WaitForD0, 1345 _In_opt_ 1346 PVOID Tag, 1347 _In_ 1348 LONG Line, 1349 _In_z_ 1350 PCHAR File 1351 ); 1352 1353 _IRQL_requires_max_(DISPATCH_LEVEL) 1354 WDFAPI 1355 VOID 1356 VFWDFEXPORT(WdfDeviceResumeIdleActual)( 1357 _In_ 1358 PWDF_DRIVER_GLOBALS DriverGlobals, 1359 _In_ 1360 WDFDEVICE Device, 1361 _In_opt_ 1362 PVOID Tag, 1363 _In_ 1364 LONG Line, 1365 _In_z_ 1366 PCHAR File 1367 ); 1368 1369 _IRQL_requires_max_(DISPATCH_LEVEL) 1370 WDFAPI 1371 WDFFILEOBJECT 1372 VFWDFEXPORT(WdfDeviceGetFileObject)( 1373 _In_ 1374 PWDF_DRIVER_GLOBALS DriverGlobals, 1375 _In_ 1376 WDFDEVICE Device, 1377 _In_ 1378 PFILE_OBJECT FileObject 1379 ); 1380 1381 _Must_inspect_result_ 1382 _IRQL_requires_max_(DISPATCH_LEVEL) 1383 WDFAPI 1384 NTSTATUS 1385 VFWDFEXPORT(WdfDeviceEnqueueRequest)( 1386 _In_ 1387 PWDF_DRIVER_GLOBALS DriverGlobals, 1388 _In_ 1389 WDFDEVICE Device, 1390 _In_ 1391 WDFREQUEST Request 1392 ); 1393 1394 _IRQL_requires_max_(DISPATCH_LEVEL) 1395 WDFAPI 1396 WDFQUEUE 1397 VFWDFEXPORT(WdfDeviceGetDefaultQueue)( 1398 _In_ 1399 PWDF_DRIVER_GLOBALS DriverGlobals, 1400 _In_ 1401 WDFDEVICE Device 1402 ); 1403 1404 _Must_inspect_result_ 1405 _IRQL_requires_max_(DISPATCH_LEVEL) 1406 WDFAPI 1407 NTSTATUS 1408 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)( 1409 _In_ 1410 PWDF_DRIVER_GLOBALS DriverGlobals, 1411 _In_ 1412 WDFDEVICE Device, 1413 _In_ 1414 WDFQUEUE Queue, 1415 _In_ 1416 _Strict_type_match_ 1417 WDF_REQUEST_TYPE RequestType 1418 ); 1419 1420 _Must_inspect_result_ 1421 _IRQL_requires_max_(DISPATCH_LEVEL) 1422 WDFAPI 1423 NTSTATUS 1424 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)( 1425 _In_ 1426 PWDF_DRIVER_GLOBALS DriverGlobals, 1427 _In_ 1428 WDFDEVICE Device, 1429 _In_opt_ 1430 WDFDRIVER Driver, 1431 _In_ 1432 UCHAR MajorFunction, 1433 _In_ 1434 PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach, 1435 _In_opt_ 1436 WDFCONTEXT DriverContext 1437 ); 1438 1439 _IRQL_requires_max_(DISPATCH_LEVEL) 1440 WDFAPI 1441 POWER_ACTION 1442 VFWDFEXPORT(WdfDeviceGetSystemPowerAction)( 1443 _In_ 1444 PWDF_DRIVER_GLOBALS DriverGlobals, 1445 _In_ 1446 WDFDEVICE Device 1447 ); 1448 1449 _Must_inspect_result_ 1450 _IRQL_requires_max_(PASSIVE_LEVEL) 1451 WDFAPI 1452 NTSTATUS 1453 VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings)( 1454 _In_ 1455 PWDF_DRIVER_GLOBALS DriverGlobals, 1456 _In_ 1457 WDFDEVICE Device, 1458 _In_ 1459 PWDF_POWER_FRAMEWORK_SETTINGS PowerFrameworkSettings 1460 ); 1461 1462 _IRQL_requires_max_(DISPATCH_LEVEL) 1463 WDFAPI 1464 VOID 1465 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)( 1466 _In_ 1467 PWDF_DRIVER_GLOBALS DriverGlobals, 1468 _In_ 1469 PWDFDEVICE_INIT DeviceInit, 1470 _In_ 1471 WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure 1472 ); 1473 1474 _IRQL_requires_max_(PASSIVE_LEVEL) 1475 WDFAPI 1476 VOID 1477 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)( 1478 _In_ 1479 PWDF_DRIVER_GLOBALS DriverGlobals, 1480 _In_ 1481 PWDFDEVICE_INIT DeviceInit, 1482 _In_ 1483 PWDF_IO_TYPE_CONFIG IoTypeConfig 1484 ); 1485 1486 _Must_inspect_result_ 1487 _IRQL_requires_max_(APC_LEVEL) 1488 WDFAPI 1489 NTSTATUS 1490 VFWDFEXPORT(WdfDeviceQueryPropertyEx)( 1491 _In_ 1492 PWDF_DRIVER_GLOBALS DriverGlobals, 1493 _In_ 1494 WDFDEVICE Device, 1495 _In_ 1496 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 1497 _In_ 1498 ULONG BufferLength, 1499 _Out_ 1500 PVOID PropertyBuffer, 1501 _Out_ 1502 PULONG RequiredSize, 1503 _Out_ 1504 PDEVPROPTYPE Type 1505 ); 1506 1507 _Must_inspect_result_ 1508 _IRQL_requires_max_(APC_LEVEL) 1509 WDFAPI 1510 NTSTATUS 1511 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)( 1512 _In_ 1513 PWDF_DRIVER_GLOBALS DriverGlobals, 1514 _In_ 1515 WDFDEVICE Device, 1516 _In_ 1517 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 1518 _In_ 1519 _Strict_type_match_ 1520 POOL_TYPE PoolType, 1521 _In_opt_ 1522 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 1523 _Out_ 1524 WDFMEMORY* PropertyMemory, 1525 _Out_ 1526 PDEVPROPTYPE Type 1527 ); 1528 1529 _Must_inspect_result_ 1530 _IRQL_requires_max_(APC_LEVEL) 1531 WDFAPI 1532 NTSTATUS 1533 VFWDFEXPORT(WdfDeviceAssignProperty)( 1534 _In_ 1535 PWDF_DRIVER_GLOBALS DriverGlobals, 1536 _In_ 1537 WDFDEVICE Device, 1538 _In_ 1539 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 1540 _In_ 1541 DEVPROPTYPE Type, 1542 _In_ 1543 ULONG Size, 1544 _In_opt_ 1545 PVOID Data 1546 ); 1547 1548 _IRQL_requires_max_(DISPATCH_LEVEL) 1549 WDFAPI 1550 WDFIOTARGET 1551 VFWDFEXPORT(WdfDeviceGetSelfIoTarget)( 1552 _In_ 1553 PWDF_DRIVER_GLOBALS DriverGlobals, 1554 _In_ 1555 WDFDEVICE Device 1556 ); 1557 1558 _IRQL_requires_max_(DISPATCH_LEVEL) 1559 WDFAPI 1560 VOID 1561 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)( 1562 _In_ 1563 PWDF_DRIVER_GLOBALS DriverGlobals, 1564 _In_ 1565 PWDFDEVICE_INIT DeviceInit 1566 ); 1567 1568 _Must_inspect_result_ 1569 _IRQL_requires_max_(PASSIVE_LEVEL) 1570 WDFAPI 1571 NTSTATUS 1572 VFWDFEXPORT(WdfDmaEnablerCreate)( 1573 _In_ 1574 PWDF_DRIVER_GLOBALS DriverGlobals, 1575 _In_ 1576 WDFDEVICE Device, 1577 _In_ 1578 PWDF_DMA_ENABLER_CONFIG Config, 1579 _In_opt_ 1580 PWDF_OBJECT_ATTRIBUTES Attributes, 1581 _Out_ 1582 WDFDMAENABLER* DmaEnablerHandle 1583 ); 1584 1585 _Must_inspect_result_ 1586 _IRQL_requires_max_(PASSIVE_LEVEL) 1587 WDFAPI 1588 NTSTATUS 1589 VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile)( 1590 _In_ 1591 PWDF_DRIVER_GLOBALS DriverGlobals, 1592 _In_ 1593 WDFDMAENABLER DmaEnabler, 1594 _In_ 1595 PWDF_DMA_SYSTEM_PROFILE_CONFIG ProfileConfig, 1596 _In_ 1597 WDF_DMA_DIRECTION ConfigDirection 1598 ); 1599 1600 _IRQL_requires_max_(DISPATCH_LEVEL) 1601 WDFAPI 1602 size_t 1603 VFWDFEXPORT(WdfDmaEnablerGetMaximumLength)( 1604 _In_ 1605 PWDF_DRIVER_GLOBALS DriverGlobals, 1606 _In_ 1607 WDFDMAENABLER DmaEnabler 1608 ); 1609 1610 _IRQL_requires_max_(DISPATCH_LEVEL) 1611 WDFAPI 1612 size_t 1613 VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements)( 1614 _In_ 1615 PWDF_DRIVER_GLOBALS DriverGlobals, 1616 _In_ 1617 WDFDMAENABLER DmaEnabler 1618 ); 1619 1620 _IRQL_requires_max_(PASSIVE_LEVEL) 1621 WDFAPI 1622 VOID 1623 VFWDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements)( 1624 _In_ 1625 PWDF_DRIVER_GLOBALS DriverGlobals, 1626 _In_ 1627 WDFDMAENABLER DmaEnabler, 1628 _In_ 1629 _When_(MaximumFragments == 0, __drv_reportError(MaximumFragments cannot be zero)) 1630 size_t MaximumFragments 1631 ); 1632 1633 _IRQL_requires_max_(DISPATCH_LEVEL) 1634 WDFAPI 1635 size_t 1636 VFWDFEXPORT(WdfDmaEnablerGetFragmentLength)( 1637 _In_ 1638 PWDF_DRIVER_GLOBALS DriverGlobals, 1639 _In_ 1640 WDFDMAENABLER DmaEnabler, 1641 _In_ 1642 WDF_DMA_DIRECTION DmaDirection 1643 ); 1644 1645 _IRQL_requires_max_(DISPATCH_LEVEL) 1646 WDFAPI 1647 PDMA_ADAPTER 1648 VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter)( 1649 _In_ 1650 PWDF_DRIVER_GLOBALS DriverGlobals, 1651 _In_ 1652 WDFDMAENABLER DmaEnabler, 1653 _In_ 1654 WDF_DMA_DIRECTION DmaDirection 1655 ); 1656 1657 _Must_inspect_result_ 1658 _IRQL_requires_max_(DISPATCH_LEVEL) 1659 WDFAPI 1660 NTSTATUS 1661 VFWDFEXPORT(WdfDmaTransactionCreate)( 1662 _In_ 1663 PWDF_DRIVER_GLOBALS DriverGlobals, 1664 _In_ 1665 WDFDMAENABLER DmaEnabler, 1666 _In_opt_ 1667 PWDF_OBJECT_ATTRIBUTES Attributes, 1668 _Out_ 1669 WDFDMATRANSACTION* DmaTransaction 1670 ); 1671 1672 _Must_inspect_result_ 1673 _IRQL_requires_max_(DISPATCH_LEVEL) 1674 WDFAPI 1675 NTSTATUS 1676 VFWDFEXPORT(WdfDmaTransactionInitialize)( 1677 _In_ 1678 PWDF_DRIVER_GLOBALS DriverGlobals, 1679 _In_ 1680 WDFDMATRANSACTION DmaTransaction, 1681 _In_ 1682 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 1683 _In_ 1684 WDF_DMA_DIRECTION DmaDirection, 1685 _In_ 1686 PMDL Mdl, 1687 _In_ 1688 PVOID VirtualAddress, 1689 _In_ 1690 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 1691 size_t Length 1692 ); 1693 1694 _Must_inspect_result_ 1695 _IRQL_requires_max_(DISPATCH_LEVEL) 1696 WDFAPI 1697 NTSTATUS 1698 VFWDFEXPORT(WdfDmaTransactionInitializeUsingOffset)( 1699 _In_ 1700 PWDF_DRIVER_GLOBALS DriverGlobals, 1701 _In_ 1702 WDFDMATRANSACTION DmaTransaction, 1703 _In_ 1704 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 1705 _In_ 1706 WDF_DMA_DIRECTION DmaDirection, 1707 _In_ 1708 PMDL Mdl, 1709 _In_ 1710 size_t Offset, 1711 _In_ 1712 _When_(Length == 0, __drv_reportError(Length cannot be zero)) 1713 size_t Length 1714 ); 1715 1716 _Must_inspect_result_ 1717 _IRQL_requires_max_(DISPATCH_LEVEL) 1718 WDFAPI 1719 NTSTATUS 1720 VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest)( 1721 _In_ 1722 PWDF_DRIVER_GLOBALS DriverGlobals, 1723 _In_ 1724 WDFDMATRANSACTION DmaTransaction, 1725 _In_ 1726 WDFREQUEST Request, 1727 _In_ 1728 PFN_WDF_PROGRAM_DMA EvtProgramDmaFunction, 1729 _In_ 1730 WDF_DMA_DIRECTION DmaDirection 1731 ); 1732 1733 _Must_inspect_result_ 1734 _IRQL_requires_max_(DISPATCH_LEVEL) 1735 WDFAPI 1736 NTSTATUS 1737 VFWDFEXPORT(WdfDmaTransactionExecute)( 1738 _In_ 1739 PWDF_DRIVER_GLOBALS DriverGlobals, 1740 _In_ 1741 WDFDMATRANSACTION DmaTransaction, 1742 _In_opt_ 1743 WDFCONTEXT Context 1744 ); 1745 1746 _Success_(TRUE) 1747 _IRQL_requires_max_(DISPATCH_LEVEL) 1748 WDFAPI 1749 NTSTATUS 1750 VFWDFEXPORT(WdfDmaTransactionRelease)( 1751 _In_ 1752 PWDF_DRIVER_GLOBALS DriverGlobals, 1753 _In_ 1754 WDFDMATRANSACTION DmaTransaction 1755 ); 1756 1757 _IRQL_requires_max_(DISPATCH_LEVEL) 1758 WDFAPI 1759 BOOLEAN 1760 VFWDFEXPORT(WdfDmaTransactionDmaCompleted)( 1761 _In_ 1762 PWDF_DRIVER_GLOBALS DriverGlobals, 1763 _In_ 1764 WDFDMATRANSACTION DmaTransaction, 1765 _Out_ 1766 NTSTATUS* Status 1767 ); 1768 1769 _IRQL_requires_max_(DISPATCH_LEVEL) 1770 WDFAPI 1771 BOOLEAN 1772 VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength)( 1773 _In_ 1774 PWDF_DRIVER_GLOBALS DriverGlobals, 1775 _In_ 1776 WDFDMATRANSACTION DmaTransaction, 1777 _In_ 1778 size_t TransferredLength, 1779 _Out_ 1780 NTSTATUS* Status 1781 ); 1782 1783 _IRQL_requires_max_(DISPATCH_LEVEL) 1784 WDFAPI 1785 BOOLEAN 1786 VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal)( 1787 _In_ 1788 PWDF_DRIVER_GLOBALS DriverGlobals, 1789 _In_ 1790 WDFDMATRANSACTION DmaTransaction, 1791 _In_ 1792 size_t FinalTransferredLength, 1793 _Out_ 1794 NTSTATUS* Status 1795 ); 1796 1797 _IRQL_requires_max_(DISPATCH_LEVEL) 1798 WDFAPI 1799 size_t 1800 VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred)( 1801 _In_ 1802 PWDF_DRIVER_GLOBALS DriverGlobals, 1803 _In_ 1804 WDFDMATRANSACTION DmaTransaction 1805 ); 1806 1807 _IRQL_requires_max_(DISPATCH_LEVEL) 1808 WDFAPI 1809 VOID 1810 VFWDFEXPORT(WdfDmaTransactionSetMaximumLength)( 1811 _In_ 1812 PWDF_DRIVER_GLOBALS DriverGlobals, 1813 _In_ 1814 WDFDMATRANSACTION DmaTransaction, 1815 _In_ 1816 size_t MaximumLength 1817 ); 1818 1819 _IRQL_requires_max_(DISPATCH_LEVEL) 1820 WDFAPI 1821 WDFREQUEST 1822 VFWDFEXPORT(WdfDmaTransactionGetRequest)( 1823 _In_ 1824 PWDF_DRIVER_GLOBALS DriverGlobals, 1825 _In_ 1826 WDFDMATRANSACTION DmaTransaction 1827 ); 1828 1829 _IRQL_requires_max_(DISPATCH_LEVEL) 1830 WDFAPI 1831 size_t 1832 VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength)( 1833 _In_ 1834 PWDF_DRIVER_GLOBALS DriverGlobals, 1835 _In_ 1836 WDFDMATRANSACTION DmaTransaction 1837 ); 1838 1839 _IRQL_requires_max_(DISPATCH_LEVEL) 1840 WDFAPI 1841 WDFDEVICE 1842 VFWDFEXPORT(WdfDmaTransactionGetDevice)( 1843 _In_ 1844 PWDF_DRIVER_GLOBALS DriverGlobals, 1845 _In_ 1846 WDFDMATRANSACTION DmaTransaction 1847 ); 1848 1849 _IRQL_requires_max_(DISPATCH_LEVEL) 1850 WDFAPI 1851 VOID 1852 VFWDFEXPORT(WdfDmaTransactionGetTransferInfo)( 1853 _In_ 1854 PWDF_DRIVER_GLOBALS DriverGlobals, 1855 _In_ 1856 WDFDMATRANSACTION DmaTransaction, 1857 _Out_opt_ 1858 ULONG* MapRegisterCount, 1859 _Out_opt_ 1860 ULONG* ScatterGatherElementCount 1861 ); 1862 1863 _IRQL_requires_max_(DISPATCH_LEVEL) 1864 WDFAPI 1865 VOID 1866 VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback)( 1867 _In_ 1868 PWDF_DRIVER_GLOBALS DriverGlobals, 1869 _In_ 1870 WDFDMATRANSACTION DmaTransaction, 1871 _In_opt_ 1872 PFN_WDF_DMA_TRANSACTION_CONFIGURE_DMA_CHANNEL ConfigureRoutine, 1873 _In_opt_ 1874 PVOID ConfigureContext 1875 ); 1876 1877 _IRQL_requires_max_(DISPATCH_LEVEL) 1878 WDFAPI 1879 VOID 1880 VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback)( 1881 _In_ 1882 PWDF_DRIVER_GLOBALS DriverGlobals, 1883 _In_ 1884 WDFDMATRANSACTION DmaTransaction, 1885 _In_opt_ 1886 PFN_WDF_DMA_TRANSACTION_DMA_TRANSFER_COMPLETE DmaCompletionRoutine, 1887 _In_opt_ 1888 PVOID DmaCompletionContext 1889 ); 1890 1891 _IRQL_requires_max_(DISPATCH_LEVEL) 1892 WDFAPI 1893 VOID 1894 VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution)( 1895 _In_ 1896 PWDF_DRIVER_GLOBALS DriverGlobals, 1897 _In_ 1898 WDFDMATRANSACTION DmaTransaction, 1899 _In_ 1900 BOOLEAN UseImmediateExecution 1901 ); 1902 1903 _IRQL_requires_max_(DISPATCH_LEVEL) 1904 WDFAPI 1905 NTSTATUS 1906 VFWDFEXPORT(WdfDmaTransactionAllocateResources)( 1907 _In_ 1908 PWDF_DRIVER_GLOBALS DriverGlobals, 1909 _In_ 1910 WDFDMATRANSACTION DmaTransaction, 1911 _In_ 1912 WDF_DMA_DIRECTION DmaDirection, 1913 _In_ 1914 ULONG RequiredMapRegisters, 1915 _In_ 1916 PFN_WDF_RESERVE_DMA EvtReserveDmaFunction, 1917 _In_ 1918 PVOID EvtReserveDmaContext 1919 ); 1920 1921 _IRQL_requires_max_(DISPATCH_LEVEL) 1922 WDFAPI 1923 VOID 1924 VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset)( 1925 _In_ 1926 PWDF_DRIVER_GLOBALS DriverGlobals, 1927 _In_ 1928 WDFDMATRANSACTION DmaTransaction, 1929 _In_ 1930 ULONG Offset 1931 ); 1932 1933 _IRQL_requires_max_(DISPATCH_LEVEL) 1934 WDFAPI 1935 VOID 1936 VFWDFEXPORT(WdfDmaTransactionFreeResources)( 1937 _In_ 1938 PWDF_DRIVER_GLOBALS DriverGlobals, 1939 _In_ 1940 WDFDMATRANSACTION DmaTransaction 1941 ); 1942 1943 _IRQL_requires_max_(DISPATCH_LEVEL) 1944 WDFAPI 1945 BOOLEAN 1946 VFWDFEXPORT(WdfDmaTransactionCancel)( 1947 _In_ 1948 PWDF_DRIVER_GLOBALS DriverGlobals, 1949 _In_ 1950 WDFDMATRANSACTION DmaTransaction 1951 ); 1952 1953 _IRQL_requires_max_(DISPATCH_LEVEL) 1954 WDFAPI 1955 PVOID 1956 VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext)( 1957 _In_ 1958 PWDF_DRIVER_GLOBALS DriverGlobals, 1959 _In_ 1960 WDFDMATRANSACTION DmaTransaction 1961 ); 1962 1963 _IRQL_requires_max_(DISPATCH_LEVEL) 1964 WDFAPI 1965 VOID 1966 VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer)( 1967 _In_ 1968 PWDF_DRIVER_GLOBALS DriverGlobals, 1969 _In_ 1970 WDFDMATRANSACTION DmaTransaction 1971 ); 1972 1973 _Must_inspect_result_ 1974 _IRQL_requires_max_(DISPATCH_LEVEL) 1975 WDFAPI 1976 NTSTATUS 1977 VFWDFEXPORT(WdfDpcCreate)( 1978 _In_ 1979 PWDF_DRIVER_GLOBALS DriverGlobals, 1980 _In_ 1981 PWDF_DPC_CONFIG Config, 1982 _In_ 1983 PWDF_OBJECT_ATTRIBUTES Attributes, 1984 _Out_ 1985 WDFDPC* Dpc 1986 ); 1987 1988 _IRQL_requires_max_(HIGH_LEVEL) 1989 WDFAPI 1990 BOOLEAN 1991 VFWDFEXPORT(WdfDpcEnqueue)( 1992 _In_ 1993 PWDF_DRIVER_GLOBALS DriverGlobals, 1994 _In_ 1995 WDFDPC Dpc 1996 ); 1997 1998 _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL)) 1999 _When_(Wait == __false, _IRQL_requires_max_(HIGH_LEVEL)) 2000 WDFAPI 2001 BOOLEAN 2002 VFWDFEXPORT(WdfDpcCancel)( 2003 _In_ 2004 PWDF_DRIVER_GLOBALS DriverGlobals, 2005 _In_ 2006 WDFDPC Dpc, 2007 _In_ 2008 BOOLEAN Wait 2009 ); 2010 2011 _IRQL_requires_max_(HIGH_LEVEL) 2012 WDFAPI 2013 WDFOBJECT 2014 VFWDFEXPORT(WdfDpcGetParentObject)( 2015 _In_ 2016 PWDF_DRIVER_GLOBALS DriverGlobals, 2017 _In_ 2018 WDFDPC Dpc 2019 ); 2020 2021 _IRQL_requires_max_(HIGH_LEVEL) 2022 WDFAPI 2023 PKDPC 2024 VFWDFEXPORT(WdfDpcWdmGetDpc)( 2025 _In_ 2026 PWDF_DRIVER_GLOBALS DriverGlobals, 2027 _In_ 2028 WDFDPC Dpc 2029 ); 2030 2031 _Must_inspect_result_ 2032 _IRQL_requires_max_(PASSIVE_LEVEL) 2033 WDFAPI 2034 NTSTATUS 2035 VFWDFEXPORT(WdfDriverCreate)( 2036 _In_ 2037 PWDF_DRIVER_GLOBALS DriverGlobals, 2038 _In_ 2039 PDRIVER_OBJECT DriverObject, 2040 _In_ 2041 PCUNICODE_STRING RegistryPath, 2042 _In_opt_ 2043 PWDF_OBJECT_ATTRIBUTES DriverAttributes, 2044 _In_ 2045 PWDF_DRIVER_CONFIG DriverConfig, 2046 _Out_opt_ 2047 WDFDRIVER* Driver 2048 ); 2049 2050 _IRQL_requires_max_(PASSIVE_LEVEL) 2051 WDFAPI 2052 PWSTR 2053 VFWDFEXPORT(WdfDriverGetRegistryPath)( 2054 _In_ 2055 PWDF_DRIVER_GLOBALS DriverGlobals, 2056 _In_ 2057 WDFDRIVER Driver 2058 ); 2059 2060 _IRQL_requires_max_(DISPATCH_LEVEL) 2061 WDFAPI 2062 PDRIVER_OBJECT 2063 VFWDFEXPORT(WdfDriverWdmGetDriverObject)( 2064 _In_ 2065 PWDF_DRIVER_GLOBALS DriverGlobals, 2066 _In_ 2067 WDFDRIVER Driver 2068 ); 2069 2070 _Must_inspect_result_ 2071 _IRQL_requires_max_(PASSIVE_LEVEL) 2072 WDFAPI 2073 NTSTATUS 2074 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)( 2075 _In_ 2076 PWDF_DRIVER_GLOBALS DriverGlobals, 2077 _In_ 2078 WDFDRIVER Driver, 2079 _In_ 2080 ACCESS_MASK DesiredAccess, 2081 _In_opt_ 2082 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2083 _Out_ 2084 WDFKEY* Key 2085 ); 2086 2087 _IRQL_requires_max_(DISPATCH_LEVEL) 2088 WDFAPI 2089 WDFDRIVER 2090 VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle)( 2091 _In_ 2092 PWDF_DRIVER_GLOBALS DriverGlobals, 2093 _In_ 2094 PDRIVER_OBJECT DriverObject 2095 ); 2096 2097 _Must_inspect_result_ 2098 _IRQL_requires_max_(PASSIVE_LEVEL) 2099 WDFAPI 2100 NTSTATUS 2101 VFWDFEXPORT(WdfDriverRegisterTraceInfo)( 2102 _In_ 2103 PWDF_DRIVER_GLOBALS DriverGlobals, 2104 _In_ 2105 PDRIVER_OBJECT DriverObject, 2106 _In_ 2107 PFN_WDF_TRACE_CALLBACK EvtTraceCallback, 2108 _In_ 2109 PVOID ControlBlock 2110 ); 2111 2112 _Must_inspect_result_ 2113 _IRQL_requires_max_(PASSIVE_LEVEL) 2114 WDFAPI 2115 NTSTATUS 2116 VFWDFEXPORT(WdfDriverRetrieveVersionString)( 2117 _In_ 2118 PWDF_DRIVER_GLOBALS DriverGlobals, 2119 _In_ 2120 WDFDRIVER Driver, 2121 _In_ 2122 WDFSTRING String 2123 ); 2124 2125 _Must_inspect_result_ 2126 _IRQL_requires_max_(PASSIVE_LEVEL) 2127 WDFAPI 2128 BOOLEAN 2129 VFWDFEXPORT(WdfDriverIsVersionAvailable)( 2130 _In_ 2131 PWDF_DRIVER_GLOBALS DriverGlobals, 2132 _In_ 2133 WDFDRIVER Driver, 2134 _In_ 2135 PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams 2136 ); 2137 2138 _IRQL_requires_max_(DISPATCH_LEVEL) 2139 WDFAPI 2140 PDEVICE_OBJECT 2141 VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice)( 2142 _In_ 2143 PWDF_DRIVER_GLOBALS DriverGlobals, 2144 _In_ 2145 PWDFDEVICE_INIT DeviceInit 2146 ); 2147 2148 _Must_inspect_result_ 2149 _IRQL_requires_max_(PASSIVE_LEVEL) 2150 WDFAPI 2151 NTSTATUS 2152 VFWDFEXPORT(WdfFdoInitOpenRegistryKey)( 2153 _In_ 2154 PWDF_DRIVER_GLOBALS DriverGlobals, 2155 _In_ 2156 PWDFDEVICE_INIT DeviceInit, 2157 _In_ 2158 ULONG DeviceInstanceKeyType, 2159 _In_ 2160 ACCESS_MASK DesiredAccess, 2161 _In_opt_ 2162 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2163 _Out_ 2164 WDFKEY* Key 2165 ); 2166 2167 _Must_inspect_result_ 2168 _IRQL_requires_max_(PASSIVE_LEVEL) 2169 WDFAPI 2170 NTSTATUS 2171 VFWDFEXPORT(WdfFdoInitQueryProperty)( 2172 _In_ 2173 PWDF_DRIVER_GLOBALS DriverGlobals, 2174 _In_ 2175 PWDFDEVICE_INIT DeviceInit, 2176 _In_ 2177 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2178 _In_ 2179 ULONG BufferLength, 2180 _Out_writes_bytes_all_opt_(BufferLength) 2181 PVOID PropertyBuffer, 2182 _Out_ 2183 PULONG ResultLength 2184 ); 2185 2186 _Must_inspect_result_ 2187 _IRQL_requires_max_(PASSIVE_LEVEL) 2188 WDFAPI 2189 NTSTATUS 2190 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)( 2191 _In_ 2192 PWDF_DRIVER_GLOBALS DriverGlobals, 2193 _In_ 2194 PWDFDEVICE_INIT DeviceInit, 2195 _In_ 2196 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2197 _In_ 2198 _Strict_type_match_ 2199 POOL_TYPE PoolType, 2200 _In_opt_ 2201 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2202 _Out_ 2203 WDFMEMORY* PropertyMemory 2204 ); 2205 2206 _Must_inspect_result_ 2207 _IRQL_requires_max_(PASSIVE_LEVEL) 2208 WDFAPI 2209 NTSTATUS 2210 VFWDFEXPORT(WdfFdoInitQueryPropertyEx)( 2211 _In_ 2212 PWDF_DRIVER_GLOBALS DriverGlobals, 2213 _In_ 2214 PWDFDEVICE_INIT DeviceInit, 2215 _In_ 2216 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2217 _In_ 2218 ULONG BufferLength, 2219 _Out_ 2220 PVOID PropertyBuffer, 2221 _Out_ 2222 PULONG ResultLength, 2223 _Out_ 2224 PDEVPROPTYPE Type 2225 ); 2226 2227 _Must_inspect_result_ 2228 _IRQL_requires_max_(PASSIVE_LEVEL) 2229 WDFAPI 2230 NTSTATUS 2231 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)( 2232 _In_ 2233 PWDF_DRIVER_GLOBALS DriverGlobals, 2234 _In_ 2235 PWDFDEVICE_INIT DeviceInit, 2236 _In_ 2237 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 2238 _In_ 2239 _Strict_type_match_ 2240 POOL_TYPE PoolType, 2241 _In_opt_ 2242 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2243 _Out_ 2244 WDFMEMORY* PropertyMemory, 2245 _Out_ 2246 PDEVPROPTYPE Type 2247 ); 2248 2249 _IRQL_requires_max_(PASSIVE_LEVEL) 2250 WDFAPI 2251 VOID 2252 VFWDFEXPORT(WdfFdoInitSetEventCallbacks)( 2253 _In_ 2254 PWDF_DRIVER_GLOBALS DriverGlobals, 2255 _In_ 2256 PWDFDEVICE_INIT DeviceInit, 2257 _In_ 2258 PWDF_FDO_EVENT_CALLBACKS FdoEventCallbacks 2259 ); 2260 2261 _IRQL_requires_max_(PASSIVE_LEVEL) 2262 WDFAPI 2263 VOID 2264 VFWDFEXPORT(WdfFdoInitSetFilter)( 2265 _In_ 2266 PWDF_DRIVER_GLOBALS DriverGlobals, 2267 _In_ 2268 PWDFDEVICE_INIT DeviceInit 2269 ); 2270 2271 _IRQL_requires_max_(PASSIVE_LEVEL) 2272 WDFAPI 2273 VOID 2274 VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig)( 2275 _In_ 2276 PWDF_DRIVER_GLOBALS DriverGlobals, 2277 _Inout_ 2278 PWDFDEVICE_INIT DeviceInit, 2279 _In_ 2280 PWDF_CHILD_LIST_CONFIG Config, 2281 _In_opt_ 2282 PWDF_OBJECT_ATTRIBUTES DefaultChildListAttributes 2283 ); 2284 2285 _Must_inspect_result_ 2286 _IRQL_requires_max_(PASSIVE_LEVEL) 2287 WDFAPI 2288 NTSTATUS 2289 VFWDFEXPORT(WdfFdoQueryForInterface)( 2290 _In_ 2291 PWDF_DRIVER_GLOBALS DriverGlobals, 2292 _In_ 2293 WDFDEVICE Fdo, 2294 _In_ 2295 LPCGUID InterfaceType, 2296 _Out_ 2297 PINTERFACE Interface, 2298 _In_ 2299 USHORT Size, 2300 _In_ 2301 USHORT Version, 2302 _In_opt_ 2303 PVOID InterfaceSpecificData 2304 ); 2305 2306 _IRQL_requires_max_(DISPATCH_LEVEL) 2307 WDFAPI 2308 WDFCHILDLIST 2309 VFWDFEXPORT(WdfFdoGetDefaultChildList)( 2310 _In_ 2311 PWDF_DRIVER_GLOBALS DriverGlobals, 2312 _In_ 2313 WDFDEVICE Fdo 2314 ); 2315 2316 _Must_inspect_result_ 2317 _IRQL_requires_max_(DISPATCH_LEVEL) 2318 WDFAPI 2319 NTSTATUS 2320 VFWDFEXPORT(WdfFdoAddStaticChild)( 2321 _In_ 2322 PWDF_DRIVER_GLOBALS DriverGlobals, 2323 _In_ 2324 WDFDEVICE Fdo, 2325 _In_ 2326 WDFDEVICE Child 2327 ); 2328 2329 _IRQL_requires_max_(DISPATCH_LEVEL) 2330 WDFAPI 2331 VOID 2332 VFWDFEXPORT(WdfFdoLockStaticChildListForIteration)( 2333 _In_ 2334 PWDF_DRIVER_GLOBALS DriverGlobals, 2335 _In_ 2336 WDFDEVICE Fdo 2337 ); 2338 2339 _Must_inspect_result_ 2340 _IRQL_requires_max_(DISPATCH_LEVEL) 2341 WDFAPI 2342 WDFDEVICE 2343 VFWDFEXPORT(WdfFdoRetrieveNextStaticChild)( 2344 _In_ 2345 PWDF_DRIVER_GLOBALS DriverGlobals, 2346 _In_ 2347 WDFDEVICE Fdo, 2348 _In_opt_ 2349 WDFDEVICE PreviousChild, 2350 _In_ 2351 ULONG Flags 2352 ); 2353 2354 _IRQL_requires_max_(DISPATCH_LEVEL) 2355 WDFAPI 2356 VOID 2357 VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration)( 2358 _In_ 2359 PWDF_DRIVER_GLOBALS DriverGlobals, 2360 _In_ 2361 WDFDEVICE Fdo 2362 ); 2363 2364 _IRQL_requires_max_(PASSIVE_LEVEL) 2365 WDFAPI 2366 PUNICODE_STRING 2367 VFWDFEXPORT(WdfFileObjectGetFileName)( 2368 _In_ 2369 PWDF_DRIVER_GLOBALS DriverGlobals, 2370 _In_ 2371 WDFFILEOBJECT FileObject 2372 ); 2373 2374 _IRQL_requires_max_(DISPATCH_LEVEL) 2375 WDFAPI 2376 ULONG 2377 VFWDFEXPORT(WdfFileObjectGetFlags)( 2378 _In_ 2379 PWDF_DRIVER_GLOBALS DriverGlobals, 2380 _In_ 2381 WDFFILEOBJECT FileObject 2382 ); 2383 2384 _IRQL_requires_max_(DISPATCH_LEVEL) 2385 WDFAPI 2386 WDFDEVICE 2387 VFWDFEXPORT(WdfFileObjectGetDevice)( 2388 _In_ 2389 PWDF_DRIVER_GLOBALS DriverGlobals, 2390 _In_ 2391 WDFFILEOBJECT FileObject 2392 ); 2393 2394 _IRQL_requires_max_(DISPATCH_LEVEL) 2395 WDFAPI 2396 PFILE_OBJECT 2397 VFWDFEXPORT(WdfFileObjectWdmGetFileObject)( 2398 _In_ 2399 PWDF_DRIVER_GLOBALS DriverGlobals, 2400 _In_ 2401 WDFFILEOBJECT FileObject 2402 ); 2403 2404 _Must_inspect_result_ 2405 _IRQL_requires_max_(DISPATCH_LEVEL) 2406 WDFAPI 2407 NTSTATUS 2408 VFWDFEXPORT(WdfInterruptCreate)( 2409 _In_ 2410 PWDF_DRIVER_GLOBALS DriverGlobals, 2411 _In_ 2412 WDFDEVICE Device, 2413 _In_ 2414 PWDF_INTERRUPT_CONFIG Configuration, 2415 _In_opt_ 2416 PWDF_OBJECT_ATTRIBUTES Attributes, 2417 _Out_ 2418 WDFINTERRUPT* Interrupt 2419 ); 2420 2421 WDFAPI 2422 BOOLEAN 2423 VFWDFEXPORT(WdfInterruptQueueDpcForIsr)( 2424 _In_ 2425 PWDF_DRIVER_GLOBALS DriverGlobals, 2426 _In_ 2427 WDFINTERRUPT Interrupt 2428 ); 2429 2430 WDFAPI 2431 BOOLEAN 2432 VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr)( 2433 _In_ 2434 PWDF_DRIVER_GLOBALS DriverGlobals, 2435 _In_ 2436 WDFINTERRUPT Interrupt 2437 ); 2438 2439 _IRQL_requires_max_(DISPATCH_LEVEL) 2440 WDFAPI 2441 BOOLEAN 2442 VFWDFEXPORT(WdfInterruptSynchronize)( 2443 _In_ 2444 PWDF_DRIVER_GLOBALS DriverGlobals, 2445 _In_ 2446 WDFINTERRUPT Interrupt, 2447 _In_ 2448 PFN_WDF_INTERRUPT_SYNCHRONIZE Callback, 2449 _In_ 2450 WDFCONTEXT Context 2451 ); 2452 2453 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 2454 WDFAPI 2455 VOID 2456 VFWDFEXPORT(WdfInterruptAcquireLock)( 2457 _In_ 2458 PWDF_DRIVER_GLOBALS DriverGlobals, 2459 _In_ 2460 _Requires_lock_not_held_(_Curr_) 2461 _Acquires_lock_(_Curr_) 2462 WDFINTERRUPT Interrupt 2463 ); 2464 2465 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 2466 WDFAPI 2467 VOID 2468 VFWDFEXPORT(WdfInterruptReleaseLock)( 2469 _In_ 2470 PWDF_DRIVER_GLOBALS DriverGlobals, 2471 _In_ 2472 _Requires_lock_held_(_Curr_) 2473 _Releases_lock_(_Curr_) 2474 WDFINTERRUPT Interrupt 2475 ); 2476 2477 _IRQL_requires_max_(PASSIVE_LEVEL) 2478 WDFAPI 2479 VOID 2480 VFWDFEXPORT(WdfInterruptEnable)( 2481 _In_ 2482 PWDF_DRIVER_GLOBALS DriverGlobals, 2483 _In_ 2484 WDFINTERRUPT Interrupt 2485 ); 2486 2487 _IRQL_requires_max_(PASSIVE_LEVEL) 2488 WDFAPI 2489 VOID 2490 VFWDFEXPORT(WdfInterruptDisable)( 2491 _In_ 2492 PWDF_DRIVER_GLOBALS DriverGlobals, 2493 _In_ 2494 WDFINTERRUPT Interrupt 2495 ); 2496 2497 _Must_inspect_result_ 2498 WDFAPI 2499 PKINTERRUPT 2500 VFWDFEXPORT(WdfInterruptWdmGetInterrupt)( 2501 _In_ 2502 PWDF_DRIVER_GLOBALS DriverGlobals, 2503 _In_ 2504 WDFINTERRUPT Interrupt 2505 ); 2506 2507 _IRQL_requires_max_(DISPATCH_LEVEL) 2508 WDFAPI 2509 VOID 2510 VFWDFEXPORT(WdfInterruptGetInfo)( 2511 _In_ 2512 PWDF_DRIVER_GLOBALS DriverGlobals, 2513 _In_ 2514 WDFINTERRUPT Interrupt, 2515 _Out_ 2516 PWDF_INTERRUPT_INFO Info 2517 ); 2518 2519 _IRQL_requires_max_(DISPATCH_LEVEL) 2520 WDFAPI 2521 VOID 2522 VFWDFEXPORT(WdfInterruptSetPolicy)( 2523 _In_ 2524 PWDF_DRIVER_GLOBALS DriverGlobals, 2525 _In_ 2526 WDFINTERRUPT Interrupt, 2527 _In_ 2528 WDF_INTERRUPT_POLICY Policy, 2529 _In_ 2530 WDF_INTERRUPT_PRIORITY Priority, 2531 _In_ 2532 KAFFINITY TargetProcessorSet 2533 ); 2534 2535 _IRQL_requires_max_(DISPATCH_LEVEL) 2536 WDFAPI 2537 VOID 2538 VFWDFEXPORT(WdfInterruptSetExtendedPolicy)( 2539 _In_ 2540 PWDF_DRIVER_GLOBALS DriverGlobals, 2541 _In_ 2542 WDFINTERRUPT Interrupt, 2543 _In_ 2544 PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup 2545 ); 2546 2547 WDFAPI 2548 WDFDEVICE 2549 VFWDFEXPORT(WdfInterruptGetDevice)( 2550 _In_ 2551 PWDF_DRIVER_GLOBALS DriverGlobals, 2552 _In_ 2553 WDFINTERRUPT Interrupt 2554 ); 2555 2556 _Must_inspect_result_ 2557 _Post_satisfies_(return == 1 || return == 0) 2558 _IRQL_requires_max_(PASSIVE_LEVEL) 2559 WDFAPI 2560 BOOLEAN 2561 VFWDFEXPORT(WdfInterruptTryToAcquireLock)( 2562 _In_ 2563 PWDF_DRIVER_GLOBALS DriverGlobals, 2564 _In_ 2565 _Requires_lock_not_held_(_Curr_) 2566 _When_(return!=0, _Acquires_lock_(_Curr_)) 2567 WDFINTERRUPT Interrupt 2568 ); 2569 2570 _IRQL_requires_max_(DISPATCH_LEVEL) 2571 WDFAPI 2572 VOID 2573 VFWDFEXPORT(WdfInterruptReportActive)( 2574 _In_ 2575 PWDF_DRIVER_GLOBALS DriverGlobals, 2576 _In_ 2577 WDFINTERRUPT Interrupt 2578 ); 2579 2580 _IRQL_requires_max_(DISPATCH_LEVEL) 2581 WDFAPI 2582 VOID 2583 VFWDFEXPORT(WdfInterruptReportInactive)( 2584 _In_ 2585 PWDF_DRIVER_GLOBALS DriverGlobals, 2586 _In_ 2587 WDFINTERRUPT Interrupt 2588 ); 2589 2590 _Must_inspect_result_ 2591 _IRQL_requires_max_(DISPATCH_LEVEL) 2592 WDFAPI 2593 NTSTATUS 2594 VFWDFEXPORT(WdfIoQueueCreate)( 2595 _In_ 2596 PWDF_DRIVER_GLOBALS DriverGlobals, 2597 _In_ 2598 WDFDEVICE Device, 2599 _In_ 2600 PWDF_IO_QUEUE_CONFIG Config, 2601 _In_opt_ 2602 PWDF_OBJECT_ATTRIBUTES QueueAttributes, 2603 _Out_opt_ 2604 WDFQUEUE* Queue 2605 ); 2606 2607 _IRQL_requires_max_(DISPATCH_LEVEL) 2608 WDFAPI 2609 WDF_IO_QUEUE_STATE 2610 VFWDFEXPORT(WdfIoQueueGetState)( 2611 _In_ 2612 PWDF_DRIVER_GLOBALS DriverGlobals, 2613 _In_ 2614 WDFQUEUE Queue, 2615 _Out_opt_ 2616 PULONG QueueRequests, 2617 _Out_opt_ 2618 PULONG DriverRequests 2619 ); 2620 2621 _IRQL_requires_max_(DISPATCH_LEVEL) 2622 WDFAPI 2623 VOID 2624 VFWDFEXPORT(WdfIoQueueStart)( 2625 _In_ 2626 PWDF_DRIVER_GLOBALS DriverGlobals, 2627 _In_ 2628 WDFQUEUE Queue 2629 ); 2630 2631 _IRQL_requires_max_(DISPATCH_LEVEL) 2632 WDFAPI 2633 VOID 2634 VFWDFEXPORT(WdfIoQueueStop)( 2635 _In_ 2636 PWDF_DRIVER_GLOBALS DriverGlobals, 2637 _In_ 2638 WDFQUEUE Queue, 2639 _When_(Context != 0, _In_) 2640 _When_(Context == 0, _In_opt_) 2641 PFN_WDF_IO_QUEUE_STATE StopComplete, 2642 _When_(StopComplete != 0, _In_) 2643 _When_(StopComplete == 0, _In_opt_) 2644 WDFCONTEXT Context 2645 ); 2646 2647 _IRQL_requires_max_(PASSIVE_LEVEL) 2648 WDFAPI 2649 VOID 2650 VFWDFEXPORT(WdfIoQueueStopSynchronously)( 2651 _In_ 2652 PWDF_DRIVER_GLOBALS DriverGlobals, 2653 _In_ 2654 WDFQUEUE Queue 2655 ); 2656 2657 _IRQL_requires_max_(DISPATCH_LEVEL) 2658 WDFAPI 2659 WDFDEVICE 2660 VFWDFEXPORT(WdfIoQueueGetDevice)( 2661 _In_ 2662 PWDF_DRIVER_GLOBALS DriverGlobals, 2663 _In_ 2664 WDFQUEUE Queue 2665 ); 2666 2667 _Must_inspect_result_ 2668 _IRQL_requires_max_(DISPATCH_LEVEL) 2669 WDFAPI 2670 NTSTATUS 2671 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)( 2672 _In_ 2673 PWDF_DRIVER_GLOBALS DriverGlobals, 2674 _In_ 2675 WDFQUEUE Queue, 2676 _Out_ 2677 WDFREQUEST* OutRequest 2678 ); 2679 2680 _Must_inspect_result_ 2681 _IRQL_requires_max_(DISPATCH_LEVEL) 2682 WDFAPI 2683 NTSTATUS 2684 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)( 2685 _In_ 2686 PWDF_DRIVER_GLOBALS DriverGlobals, 2687 _In_ 2688 WDFQUEUE Queue, 2689 _In_ 2690 WDFFILEOBJECT FileObject, 2691 _Out_ 2692 WDFREQUEST* OutRequest 2693 ); 2694 2695 _Must_inspect_result_ 2696 _IRQL_requires_max_(DISPATCH_LEVEL) 2697 WDFAPI 2698 NTSTATUS 2699 VFWDFEXPORT(WdfIoQueueFindRequest)( 2700 _In_ 2701 PWDF_DRIVER_GLOBALS DriverGlobals, 2702 _In_ 2703 WDFQUEUE Queue, 2704 _In_opt_ 2705 WDFREQUEST FoundRequest, 2706 _In_opt_ 2707 WDFFILEOBJECT FileObject, 2708 _Inout_opt_ 2709 PWDF_REQUEST_PARAMETERS Parameters, 2710 _Out_ 2711 WDFREQUEST* OutRequest 2712 ); 2713 2714 _Must_inspect_result_ 2715 _IRQL_requires_max_(DISPATCH_LEVEL) 2716 WDFAPI 2717 NTSTATUS 2718 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)( 2719 _In_ 2720 PWDF_DRIVER_GLOBALS DriverGlobals, 2721 _In_ 2722 WDFQUEUE Queue, 2723 _In_ 2724 WDFREQUEST FoundRequest, 2725 _Out_ 2726 WDFREQUEST* OutRequest 2727 ); 2728 2729 _IRQL_requires_max_(PASSIVE_LEVEL) 2730 WDFAPI 2731 VOID 2732 VFWDFEXPORT(WdfIoQueueDrainSynchronously)( 2733 _In_ 2734 PWDF_DRIVER_GLOBALS DriverGlobals, 2735 _In_ 2736 WDFQUEUE Queue 2737 ); 2738 2739 _IRQL_requires_max_(DISPATCH_LEVEL) 2740 WDFAPI 2741 VOID 2742 VFWDFEXPORT(WdfIoQueueDrain)( 2743 _In_ 2744 PWDF_DRIVER_GLOBALS DriverGlobals, 2745 _In_ 2746 WDFQUEUE Queue, 2747 _When_(Context != 0, _In_) 2748 _When_(Context == 0, _In_opt_) 2749 PFN_WDF_IO_QUEUE_STATE DrainComplete, 2750 _When_(DrainComplete != 0, _In_) 2751 _When_(DrainComplete == 0, _In_opt_) 2752 WDFCONTEXT Context 2753 ); 2754 2755 _IRQL_requires_max_(PASSIVE_LEVEL) 2756 WDFAPI 2757 VOID 2758 VFWDFEXPORT(WdfIoQueuePurgeSynchronously)( 2759 _In_ 2760 PWDF_DRIVER_GLOBALS DriverGlobals, 2761 _In_ 2762 WDFQUEUE Queue 2763 ); 2764 2765 _IRQL_requires_max_(DISPATCH_LEVEL) 2766 WDFAPI 2767 VOID 2768 VFWDFEXPORT(WdfIoQueuePurge)( 2769 _In_ 2770 PWDF_DRIVER_GLOBALS DriverGlobals, 2771 _In_ 2772 WDFQUEUE Queue, 2773 _When_(Context != 0, _In_) 2774 _When_(Context == 0, _In_opt_) 2775 PFN_WDF_IO_QUEUE_STATE PurgeComplete, 2776 _When_(PurgeComplete != 0, _In_) 2777 _When_(PurgeComplete == 0, _In_opt_) 2778 WDFCONTEXT Context 2779 ); 2780 2781 _Must_inspect_result_ 2782 _IRQL_requires_max_(DISPATCH_LEVEL) 2783 WDFAPI 2784 NTSTATUS 2785 VFWDFEXPORT(WdfIoQueueReadyNotify)( 2786 _In_ 2787 PWDF_DRIVER_GLOBALS DriverGlobals, 2788 _In_ 2789 WDFQUEUE Queue, 2790 _In_opt_ 2791 PFN_WDF_IO_QUEUE_STATE QueueReady, 2792 _In_opt_ 2793 WDFCONTEXT Context 2794 ); 2795 2796 _Must_inspect_result_ 2797 _IRQL_requires_max_(PASSIVE_LEVEL) 2798 WDFAPI 2799 NTSTATUS 2800 VFWDFEXPORT(WdfIoQueueAssignForwardProgressPolicy)( 2801 _In_ 2802 PWDF_DRIVER_GLOBALS DriverGlobals, 2803 _In_ 2804 WDFQUEUE Queue, 2805 _In_ 2806 PWDF_IO_QUEUE_FORWARD_PROGRESS_POLICY ForwardProgressPolicy 2807 ); 2808 2809 _IRQL_requires_max_(DISPATCH_LEVEL) 2810 WDFAPI 2811 VOID 2812 VFWDFEXPORT(WdfIoQueueStopAndPurge)( 2813 _In_ 2814 PWDF_DRIVER_GLOBALS DriverGlobals, 2815 _In_ 2816 WDFQUEUE Queue, 2817 _When_(Context != 0, _In_) 2818 _When_(Context == 0, _In_opt_) 2819 PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete, 2820 _When_(StopAndPurgeComplete != 0, _In_) 2821 _When_(StopAndPurgeComplete == 0, _In_opt_) 2822 WDFCONTEXT Context 2823 ); 2824 2825 _IRQL_requires_max_(PASSIVE_LEVEL) 2826 WDFAPI 2827 VOID 2828 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)( 2829 _In_ 2830 PWDF_DRIVER_GLOBALS DriverGlobals, 2831 _In_ 2832 WDFQUEUE Queue 2833 ); 2834 2835 _Must_inspect_result_ 2836 _IRQL_requires_max_(PASSIVE_LEVEL) 2837 WDFAPI 2838 NTSTATUS 2839 VFWDFEXPORT(WdfIoTargetCreate)( 2840 _In_ 2841 PWDF_DRIVER_GLOBALS DriverGlobals, 2842 _In_ 2843 WDFDEVICE Device, 2844 _In_opt_ 2845 PWDF_OBJECT_ATTRIBUTES IoTargetAttributes, 2846 _Out_ 2847 WDFIOTARGET* IoTarget 2848 ); 2849 2850 _Must_inspect_result_ 2851 _IRQL_requires_max_(PASSIVE_LEVEL) 2852 WDFAPI 2853 NTSTATUS 2854 VFWDFEXPORT(WdfIoTargetOpen)( 2855 _In_ 2856 PWDF_DRIVER_GLOBALS DriverGlobals, 2857 _In_ 2858 WDFIOTARGET IoTarget, 2859 _In_ 2860 PWDF_IO_TARGET_OPEN_PARAMS OpenParams 2861 ); 2862 2863 _IRQL_requires_max_(PASSIVE_LEVEL) 2864 WDFAPI 2865 VOID 2866 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)( 2867 _In_ 2868 PWDF_DRIVER_GLOBALS DriverGlobals, 2869 _In_ 2870 WDFIOTARGET IoTarget 2871 ); 2872 2873 _IRQL_requires_max_(PASSIVE_LEVEL) 2874 WDFAPI 2875 VOID 2876 VFWDFEXPORT(WdfIoTargetClose)( 2877 _In_ 2878 PWDF_DRIVER_GLOBALS DriverGlobals, 2879 _In_ 2880 WDFIOTARGET IoTarget 2881 ); 2882 2883 _Must_inspect_result_ 2884 _IRQL_requires_max_(DISPATCH_LEVEL) 2885 WDFAPI 2886 NTSTATUS 2887 VFWDFEXPORT(WdfIoTargetStart)( 2888 _In_ 2889 PWDF_DRIVER_GLOBALS DriverGlobals, 2890 _In_ 2891 WDFIOTARGET IoTarget 2892 ); 2893 2894 _When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL)) 2895 _When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL)) 2896 WDFAPI 2897 VOID 2898 VFWDFEXPORT(WdfIoTargetStop)( 2899 _In_ 2900 PWDF_DRIVER_GLOBALS DriverGlobals, 2901 _In_ 2902 WDFIOTARGET IoTarget, 2903 _In_ 2904 _Strict_type_match_ 2905 WDF_IO_TARGET_SENT_IO_ACTION Action 2906 ); 2907 2908 _When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL)) 2909 _When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL)) 2910 WDFAPI 2911 VOID 2912 VFWDFEXPORT(WdfIoTargetPurge)( 2913 _In_ 2914 PWDF_DRIVER_GLOBALS DriverGlobals, 2915 _In_ 2916 WDFIOTARGET IoTarget, 2917 _In_ 2918 _Strict_type_match_ 2919 WDF_IO_TARGET_PURGE_IO_ACTION Action 2920 ); 2921 2922 _IRQL_requires_max_(DISPATCH_LEVEL) 2923 WDFAPI 2924 WDF_IO_TARGET_STATE 2925 VFWDFEXPORT(WdfIoTargetGetState)( 2926 _In_ 2927 PWDF_DRIVER_GLOBALS DriverGlobals, 2928 _In_ 2929 WDFIOTARGET IoTarget 2930 ); 2931 2932 _IRQL_requires_max_(DISPATCH_LEVEL) 2933 WDFAPI 2934 WDFDEVICE 2935 VFWDFEXPORT(WdfIoTargetGetDevice)( 2936 _In_ 2937 PWDF_DRIVER_GLOBALS DriverGlobals, 2938 _In_ 2939 WDFIOTARGET IoTarget 2940 ); 2941 2942 _Must_inspect_result_ 2943 _IRQL_requires_max_(PASSIVE_LEVEL) 2944 WDFAPI 2945 NTSTATUS 2946 VFWDFEXPORT(WdfIoTargetQueryTargetProperty)( 2947 _In_ 2948 PWDF_DRIVER_GLOBALS DriverGlobals, 2949 _In_ 2950 WDFIOTARGET IoTarget, 2951 _In_ 2952 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2953 _In_ 2954 ULONG BufferLength, 2955 _When_(BufferLength != 0, _Out_writes_bytes_to_opt_(BufferLength, *ResultLength)) 2956 _When_(BufferLength == 0, _Out_opt_) 2957 PVOID PropertyBuffer, 2958 _Deref_out_range_(<=,BufferLength) 2959 PULONG ResultLength 2960 ); 2961 2962 _Must_inspect_result_ 2963 _IRQL_requires_max_(PASSIVE_LEVEL) 2964 WDFAPI 2965 NTSTATUS 2966 VFWDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty)( 2967 _In_ 2968 PWDF_DRIVER_GLOBALS DriverGlobals, 2969 _In_ 2970 WDFIOTARGET IoTarget, 2971 _In_ 2972 DEVICE_REGISTRY_PROPERTY DeviceProperty, 2973 _In_ 2974 _Strict_type_match_ 2975 POOL_TYPE PoolType, 2976 _In_opt_ 2977 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 2978 _Out_ 2979 WDFMEMORY* PropertyMemory 2980 ); 2981 2982 _Must_inspect_result_ 2983 _IRQL_requires_max_(PASSIVE_LEVEL) 2984 WDFAPI 2985 NTSTATUS 2986 VFWDFEXPORT(WdfIoTargetQueryForInterface)( 2987 _In_ 2988 PWDF_DRIVER_GLOBALS DriverGlobals, 2989 _In_ 2990 WDFIOTARGET IoTarget, 2991 _In_ 2992 LPCGUID InterfaceType, 2993 _Out_ 2994 PINTERFACE Interface, 2995 _In_ 2996 USHORT Size, 2997 _In_ 2998 USHORT Version, 2999 _In_opt_ 3000 PVOID InterfaceSpecificData 3001 ); 3002 3003 _IRQL_requires_max_(DISPATCH_LEVEL) 3004 WDFAPI 3005 PDEVICE_OBJECT 3006 VFWDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject)( 3007 _In_ 3008 PWDF_DRIVER_GLOBALS DriverGlobals, 3009 _In_ 3010 WDFIOTARGET IoTarget 3011 ); 3012 3013 _IRQL_requires_max_(DISPATCH_LEVEL) 3014 WDFAPI 3015 PDEVICE_OBJECT 3016 VFWDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice)( 3017 _In_ 3018 PWDF_DRIVER_GLOBALS DriverGlobals, 3019 _In_ 3020 WDFIOTARGET IoTarget 3021 ); 3022 3023 _IRQL_requires_max_(DISPATCH_LEVEL) 3024 WDFAPI 3025 PFILE_OBJECT 3026 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileObject)( 3027 _In_ 3028 PWDF_DRIVER_GLOBALS DriverGlobals, 3029 _In_ 3030 WDFIOTARGET IoTarget 3031 ); 3032 3033 _IRQL_requires_max_(DISPATCH_LEVEL) 3034 WDFAPI 3035 HANDLE 3036 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)( 3037 _In_ 3038 PWDF_DRIVER_GLOBALS DriverGlobals, 3039 _In_ 3040 WDFIOTARGET IoTarget 3041 ); 3042 3043 _Must_inspect_result_ 3044 _IRQL_requires_max_(PASSIVE_LEVEL) 3045 WDFAPI 3046 NTSTATUS 3047 VFWDFEXPORT(WdfIoTargetSendReadSynchronously)( 3048 _In_ 3049 PWDF_DRIVER_GLOBALS DriverGlobals, 3050 _In_ 3051 WDFIOTARGET IoTarget, 3052 _In_opt_ 3053 WDFREQUEST Request, 3054 _In_opt_ 3055 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 3056 _In_opt_ 3057 PLONGLONG DeviceOffset, 3058 _In_opt_ 3059 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3060 _Out_opt_ 3061 PULONG_PTR BytesRead 3062 ); 3063 3064 _Must_inspect_result_ 3065 _IRQL_requires_max_(DISPATCH_LEVEL) 3066 WDFAPI 3067 NTSTATUS 3068 VFWDFEXPORT(WdfIoTargetFormatRequestForRead)( 3069 _In_ 3070 PWDF_DRIVER_GLOBALS DriverGlobals, 3071 _In_ 3072 WDFIOTARGET IoTarget, 3073 _In_ 3074 WDFREQUEST Request, 3075 _In_opt_ 3076 WDFMEMORY OutputBuffer, 3077 _In_opt_ 3078 PWDFMEMORY_OFFSET OutputBufferOffset, 3079 _In_opt_ 3080 PLONGLONG DeviceOffset 3081 ); 3082 3083 _Must_inspect_result_ 3084 _IRQL_requires_max_(PASSIVE_LEVEL) 3085 WDFAPI 3086 NTSTATUS 3087 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)( 3088 _In_ 3089 PWDF_DRIVER_GLOBALS DriverGlobals, 3090 _In_ 3091 WDFIOTARGET IoTarget, 3092 _In_opt_ 3093 WDFREQUEST Request, 3094 _In_opt_ 3095 PWDF_MEMORY_DESCRIPTOR InputBuffer, 3096 _In_opt_ 3097 PLONGLONG DeviceOffset, 3098 _In_opt_ 3099 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3100 _Out_opt_ 3101 PULONG_PTR BytesWritten 3102 ); 3103 3104 _Must_inspect_result_ 3105 _IRQL_requires_max_(DISPATCH_LEVEL) 3106 WDFAPI 3107 NTSTATUS 3108 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)( 3109 _In_ 3110 PWDF_DRIVER_GLOBALS DriverGlobals, 3111 _In_ 3112 WDFIOTARGET IoTarget, 3113 _In_ 3114 WDFREQUEST Request, 3115 _In_opt_ 3116 WDFMEMORY InputBuffer, 3117 _In_opt_ 3118 PWDFMEMORY_OFFSET InputBufferOffset, 3119 _In_opt_ 3120 PLONGLONG DeviceOffset 3121 ); 3122 3123 _Must_inspect_result_ 3124 _IRQL_requires_max_(PASSIVE_LEVEL) 3125 WDFAPI 3126 NTSTATUS 3127 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously)( 3128 _In_ 3129 PWDF_DRIVER_GLOBALS DriverGlobals, 3130 _In_ 3131 WDFIOTARGET IoTarget, 3132 _In_opt_ 3133 WDFREQUEST Request, 3134 _In_ 3135 ULONG IoctlCode, 3136 _In_opt_ 3137 PWDF_MEMORY_DESCRIPTOR InputBuffer, 3138 _In_opt_ 3139 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 3140 _In_opt_ 3141 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3142 _Out_opt_ 3143 PULONG_PTR BytesReturned 3144 ); 3145 3146 _Must_inspect_result_ 3147 _IRQL_requires_max_(DISPATCH_LEVEL) 3148 WDFAPI 3149 NTSTATUS 3150 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl)( 3151 _In_ 3152 PWDF_DRIVER_GLOBALS DriverGlobals, 3153 _In_ 3154 WDFIOTARGET IoTarget, 3155 _In_ 3156 WDFREQUEST Request, 3157 _In_ 3158 ULONG IoctlCode, 3159 _In_opt_ 3160 WDFMEMORY InputBuffer, 3161 _In_opt_ 3162 PWDFMEMORY_OFFSET InputBufferOffset, 3163 _In_opt_ 3164 WDFMEMORY OutputBuffer, 3165 _In_opt_ 3166 PWDFMEMORY_OFFSET OutputBufferOffset 3167 ); 3168 3169 _Must_inspect_result_ 3170 _IRQL_requires_max_(PASSIVE_LEVEL) 3171 WDFAPI 3172 NTSTATUS 3173 VFWDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously)( 3174 _In_ 3175 PWDF_DRIVER_GLOBALS DriverGlobals, 3176 _In_ 3177 WDFIOTARGET IoTarget, 3178 _In_opt_ 3179 WDFREQUEST Request, 3180 _In_ 3181 ULONG IoctlCode, 3182 _In_opt_ 3183 PWDF_MEMORY_DESCRIPTOR InputBuffer, 3184 _In_opt_ 3185 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 3186 _In_opt_ 3187 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3188 _Out_opt_ 3189 PULONG_PTR BytesReturned 3190 ); 3191 3192 _Must_inspect_result_ 3193 _IRQL_requires_max_(DISPATCH_LEVEL) 3194 WDFAPI 3195 NTSTATUS 3196 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl)( 3197 _In_ 3198 PWDF_DRIVER_GLOBALS DriverGlobals, 3199 _In_ 3200 WDFIOTARGET IoTarget, 3201 _In_ 3202 WDFREQUEST Request, 3203 _In_ 3204 ULONG IoctlCode, 3205 _In_opt_ 3206 WDFMEMORY InputBuffer, 3207 _In_opt_ 3208 PWDFMEMORY_OFFSET InputBufferOffset, 3209 _In_opt_ 3210 WDFMEMORY OutputBuffer, 3211 _In_opt_ 3212 PWDFMEMORY_OFFSET OutputBufferOffset 3213 ); 3214 3215 _Must_inspect_result_ 3216 _IRQL_requires_max_(PASSIVE_LEVEL) 3217 WDFAPI 3218 NTSTATUS 3219 VFWDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously)( 3220 _In_ 3221 PWDF_DRIVER_GLOBALS DriverGlobals, 3222 _In_ 3223 WDFIOTARGET IoTarget, 3224 _In_opt_ 3225 WDFREQUEST Request, 3226 _In_ 3227 ULONG IoctlCode, 3228 _In_opt_ 3229 PWDF_MEMORY_DESCRIPTOR OtherArg1, 3230 _In_opt_ 3231 PWDF_MEMORY_DESCRIPTOR OtherArg2, 3232 _In_opt_ 3233 PWDF_MEMORY_DESCRIPTOR OtherArg4, 3234 _In_opt_ 3235 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3236 _Out_opt_ 3237 PULONG_PTR BytesReturned 3238 ); 3239 3240 _Must_inspect_result_ 3241 _IRQL_requires_max_(DISPATCH_LEVEL) 3242 WDFAPI 3243 NTSTATUS 3244 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers)( 3245 _In_ 3246 PWDF_DRIVER_GLOBALS DriverGlobals, 3247 _In_ 3248 WDFIOTARGET IoTarget, 3249 _In_ 3250 WDFREQUEST Request, 3251 _In_ 3252 ULONG IoctlCode, 3253 _In_opt_ 3254 WDFMEMORY OtherArg1, 3255 _In_opt_ 3256 PWDFMEMORY_OFFSET OtherArg1Offset, 3257 _In_opt_ 3258 WDFMEMORY OtherArg2, 3259 _In_opt_ 3260 PWDFMEMORY_OFFSET OtherArg2Offset, 3261 _In_opt_ 3262 WDFMEMORY OtherArg4, 3263 _In_opt_ 3264 PWDFMEMORY_OFFSET OtherArg4Offset 3265 ); 3266 3267 _IRQL_requires_max_(DISPATCH_LEVEL) 3268 WDFAPI 3269 NTSTATUS 3270 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)( 3271 _In_ 3272 PWDF_DRIVER_GLOBALS DriverGlobals, 3273 _In_ 3274 WDFIOTARGET IoTarget, 3275 _In_ 3276 WDFQUEUE Queue 3277 ); 3278 3279 _Must_inspect_result_ 3280 _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL)) 3281 _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL)) 3282 WDFAPI 3283 NTSTATUS 3284 VFWDFEXPORT(WdfMemoryCreate)( 3285 _In_ 3286 PWDF_DRIVER_GLOBALS DriverGlobals, 3287 _In_opt_ 3288 PWDF_OBJECT_ATTRIBUTES Attributes, 3289 _In_ 3290 _Strict_type_match_ 3291 POOL_TYPE PoolType, 3292 _In_opt_ 3293 ULONG PoolTag, 3294 _In_ 3295 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 3296 size_t BufferSize, 3297 _Out_ 3298 WDFMEMORY* Memory, 3299 _Outptr_opt_result_bytebuffer_(BufferSize) 3300 PVOID* Buffer 3301 ); 3302 3303 _Must_inspect_result_ 3304 _IRQL_requires_max_(DISPATCH_LEVEL) 3305 WDFAPI 3306 NTSTATUS 3307 VFWDFEXPORT(WdfMemoryCreatePreallocated)( 3308 _In_ 3309 PWDF_DRIVER_GLOBALS DriverGlobals, 3310 _In_opt_ 3311 PWDF_OBJECT_ATTRIBUTES Attributes, 3312 _In_ __drv_aliasesMem 3313 PVOID Buffer, 3314 _In_ 3315 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 3316 size_t BufferSize, 3317 _Out_ 3318 WDFMEMORY* Memory 3319 ); 3320 3321 _IRQL_requires_max_(DISPATCH_LEVEL) 3322 WDFAPI 3323 PVOID 3324 VFWDFEXPORT(WdfMemoryGetBuffer)( 3325 _In_ 3326 PWDF_DRIVER_GLOBALS DriverGlobals, 3327 _In_ 3328 WDFMEMORY Memory, 3329 _Out_opt_ 3330 size_t* BufferSize 3331 ); 3332 3333 _Must_inspect_result_ 3334 _IRQL_requires_max_(DISPATCH_LEVEL) 3335 WDFAPI 3336 NTSTATUS 3337 VFWDFEXPORT(WdfMemoryAssignBuffer)( 3338 _In_ 3339 PWDF_DRIVER_GLOBALS DriverGlobals, 3340 _In_ 3341 WDFMEMORY Memory, 3342 _Pre_notnull_ _Pre_writable_byte_size_(BufferSize) 3343 PVOID Buffer, 3344 _In_ 3345 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 3346 size_t BufferSize 3347 ); 3348 3349 _Must_inspect_result_ 3350 _IRQL_requires_max_(DISPATCH_LEVEL) 3351 WDFAPI 3352 NTSTATUS 3353 VFWDFEXPORT(WdfMemoryCopyToBuffer)( 3354 _In_ 3355 PWDF_DRIVER_GLOBALS DriverGlobals, 3356 _In_ 3357 WDFMEMORY SourceMemory, 3358 _In_ 3359 size_t SourceOffset, 3360 _Out_writes_bytes_( NumBytesToCopyTo ) 3361 PVOID Buffer, 3362 _In_ 3363 _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero)) 3364 size_t NumBytesToCopyTo 3365 ); 3366 3367 _Must_inspect_result_ 3368 _IRQL_requires_max_(DISPATCH_LEVEL) 3369 WDFAPI 3370 NTSTATUS 3371 VFWDFEXPORT(WdfMemoryCopyFromBuffer)( 3372 _In_ 3373 PWDF_DRIVER_GLOBALS DriverGlobals, 3374 _In_ 3375 WDFMEMORY DestinationMemory, 3376 _In_ 3377 size_t DestinationOffset, 3378 _In_ 3379 PVOID Buffer, 3380 _In_ 3381 _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero)) 3382 size_t NumBytesToCopyFrom 3383 ); 3384 3385 _Must_inspect_result_ 3386 _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL)) 3387 _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL)) 3388 WDFAPI 3389 NTSTATUS 3390 VFWDFEXPORT(WdfLookasideListCreate)( 3391 _In_ 3392 PWDF_DRIVER_GLOBALS DriverGlobals, 3393 _In_opt_ 3394 PWDF_OBJECT_ATTRIBUTES LookasideAttributes, 3395 _In_ 3396 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 3397 size_t BufferSize, 3398 _In_ 3399 _Strict_type_match_ 3400 POOL_TYPE PoolType, 3401 _In_opt_ 3402 PWDF_OBJECT_ATTRIBUTES MemoryAttributes, 3403 _In_opt_ 3404 ULONG PoolTag, 3405 _Out_ 3406 WDFLOOKASIDE* Lookaside 3407 ); 3408 3409 _Must_inspect_result_ 3410 _IRQL_requires_max_(DISPATCH_LEVEL) 3411 WDFAPI 3412 NTSTATUS 3413 VFWDFEXPORT(WdfMemoryCreateFromLookaside)( 3414 _In_ 3415 PWDF_DRIVER_GLOBALS DriverGlobals, 3416 _In_ 3417 WDFLOOKASIDE Lookaside, 3418 _Out_ 3419 WDFMEMORY* Memory 3420 ); 3421 3422 _Must_inspect_result_ 3423 _IRQL_requires_max_(PASSIVE_LEVEL) 3424 WDFAPI 3425 NTSTATUS 3426 VFWDFEXPORT(WdfDeviceMiniportCreate)( 3427 _In_ 3428 PWDF_DRIVER_GLOBALS DriverGlobals, 3429 _In_ 3430 WDFDRIVER Driver, 3431 _In_opt_ 3432 PWDF_OBJECT_ATTRIBUTES Attributes, 3433 _In_ 3434 PDEVICE_OBJECT DeviceObject, 3435 _In_opt_ 3436 PDEVICE_OBJECT AttachedDeviceObject, 3437 _In_opt_ 3438 PDEVICE_OBJECT Pdo, 3439 _Out_ 3440 WDFDEVICE* Device 3441 ); 3442 3443 WDFAPI 3444 VOID 3445 VFWDFEXPORT(WdfDriverMiniportUnload)( 3446 _In_ 3447 PWDF_DRIVER_GLOBALS DriverGlobals, 3448 _In_ 3449 WDFDRIVER Driver 3450 ); 3451 3452 WDFAPI 3453 PVOID 3454 FASTCALL 3455 VFWDFEXPORT(WdfObjectGetTypedContextWorker)( 3456 _In_ 3457 PWDF_DRIVER_GLOBALS DriverGlobals, 3458 _In_ 3459 WDFOBJECT Handle, 3460 _In_ 3461 PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo 3462 ); 3463 3464 WDFAPI 3465 NTSTATUS 3466 VFWDFEXPORT(WdfObjectAllocateContext)( 3467 _In_ 3468 PWDF_DRIVER_GLOBALS DriverGlobals, 3469 _In_ 3470 WDFOBJECT Handle, 3471 _In_ 3472 PWDF_OBJECT_ATTRIBUTES ContextAttributes, 3473 _Outptr_opt_ 3474 PVOID* Context 3475 ); 3476 3477 WDFAPI 3478 WDFOBJECT 3479 FASTCALL 3480 VFWDFEXPORT(WdfObjectContextGetObject)( 3481 _In_ 3482 PWDF_DRIVER_GLOBALS DriverGlobals, 3483 _In_ 3484 PVOID ContextPointer 3485 ); 3486 3487 WDFAPI 3488 VOID 3489 VFWDFEXPORT(WdfObjectReferenceActual)( 3490 _In_ 3491 PWDF_DRIVER_GLOBALS DriverGlobals, 3492 _In_ 3493 WDFOBJECT Handle, 3494 _In_opt_ 3495 PVOID Tag, 3496 _In_ 3497 LONG Line, 3498 _In_z_ 3499 PCHAR File 3500 ); 3501 3502 WDFAPI 3503 VOID 3504 VFWDFEXPORT(WdfObjectDereferenceActual)( 3505 _In_ 3506 PWDF_DRIVER_GLOBALS DriverGlobals, 3507 _In_ 3508 WDFOBJECT Handle, 3509 _In_opt_ 3510 PVOID Tag, 3511 _In_ 3512 LONG Line, 3513 _In_z_ 3514 PCHAR File 3515 ); 3516 3517 _Must_inspect_result_ 3518 _IRQL_requires_max_(DISPATCH_LEVEL) 3519 WDFAPI 3520 NTSTATUS 3521 VFWDFEXPORT(WdfObjectCreate)( 3522 _In_ 3523 PWDF_DRIVER_GLOBALS DriverGlobals, 3524 _In_opt_ 3525 PWDF_OBJECT_ATTRIBUTES Attributes, 3526 _Out_ 3527 WDFOBJECT* Object 3528 ); 3529 3530 _IRQL_requires_max_(DISPATCH_LEVEL) 3531 WDFAPI 3532 VOID 3533 VFWDFEXPORT(WdfObjectDelete)( 3534 _In_ 3535 PWDF_DRIVER_GLOBALS DriverGlobals, 3536 _In_ 3537 WDFOBJECT Object 3538 ); 3539 3540 _Must_inspect_result_ 3541 _IRQL_requires_max_(DISPATCH_LEVEL) 3542 WDFAPI 3543 NTSTATUS 3544 VFWDFEXPORT(WdfObjectQuery)( 3545 _In_ 3546 PWDF_DRIVER_GLOBALS DriverGlobals, 3547 _In_ 3548 WDFOBJECT Object, 3549 _In_ 3550 CONST GUID* Guid, 3551 _In_ 3552 ULONG QueryBufferLength, 3553 _Out_writes_bytes_(QueryBufferLength) 3554 PVOID QueryBuffer 3555 ); 3556 3557 _Must_inspect_result_ 3558 _IRQL_requires_max_(PASSIVE_LEVEL) 3559 WDFAPI 3560 PWDFDEVICE_INIT 3561 VFWDFEXPORT(WdfPdoInitAllocate)( 3562 _In_ 3563 PWDF_DRIVER_GLOBALS DriverGlobals, 3564 _In_ 3565 WDFDEVICE ParentDevice 3566 ); 3567 3568 _IRQL_requires_max_(PASSIVE_LEVEL) 3569 WDFAPI 3570 VOID 3571 VFWDFEXPORT(WdfPdoInitSetEventCallbacks)( 3572 _In_ 3573 PWDF_DRIVER_GLOBALS DriverGlobals, 3574 _In_ 3575 PWDFDEVICE_INIT DeviceInit, 3576 _In_ 3577 PWDF_PDO_EVENT_CALLBACKS DispatchTable 3578 ); 3579 3580 _Must_inspect_result_ 3581 _IRQL_requires_max_(PASSIVE_LEVEL) 3582 WDFAPI 3583 NTSTATUS 3584 VFWDFEXPORT(WdfPdoInitAssignDeviceID)( 3585 _In_ 3586 PWDF_DRIVER_GLOBALS DriverGlobals, 3587 _In_ 3588 PWDFDEVICE_INIT DeviceInit, 3589 _In_ 3590 PCUNICODE_STRING DeviceID 3591 ); 3592 3593 _Must_inspect_result_ 3594 _IRQL_requires_max_(PASSIVE_LEVEL) 3595 WDFAPI 3596 NTSTATUS 3597 VFWDFEXPORT(WdfPdoInitAssignInstanceID)( 3598 _In_ 3599 PWDF_DRIVER_GLOBALS DriverGlobals, 3600 _In_ 3601 PWDFDEVICE_INIT DeviceInit, 3602 _In_ 3603 PCUNICODE_STRING InstanceID 3604 ); 3605 3606 _Must_inspect_result_ 3607 _IRQL_requires_max_(PASSIVE_LEVEL) 3608 WDFAPI 3609 NTSTATUS 3610 VFWDFEXPORT(WdfPdoInitAddHardwareID)( 3611 _In_ 3612 PWDF_DRIVER_GLOBALS DriverGlobals, 3613 _In_ 3614 PWDFDEVICE_INIT DeviceInit, 3615 _In_ 3616 PCUNICODE_STRING HardwareID 3617 ); 3618 3619 _Must_inspect_result_ 3620 _IRQL_requires_max_(PASSIVE_LEVEL) 3621 WDFAPI 3622 NTSTATUS 3623 VFWDFEXPORT(WdfPdoInitAddCompatibleID)( 3624 _In_ 3625 PWDF_DRIVER_GLOBALS DriverGlobals, 3626 _In_ 3627 PWDFDEVICE_INIT DeviceInit, 3628 _In_ 3629 PCUNICODE_STRING CompatibleID 3630 ); 3631 3632 _Must_inspect_result_ 3633 _IRQL_requires_max_(PASSIVE_LEVEL) 3634 WDFAPI 3635 NTSTATUS 3636 VFWDFEXPORT(WdfPdoInitAssignContainerID)( 3637 _In_ 3638 PWDF_DRIVER_GLOBALS DriverGlobals, 3639 _In_ 3640 PWDFDEVICE_INIT DeviceInit, 3641 _In_ 3642 PCUNICODE_STRING ContainerID 3643 ); 3644 3645 _Must_inspect_result_ 3646 _IRQL_requires_max_(PASSIVE_LEVEL) 3647 WDFAPI 3648 NTSTATUS 3649 VFWDFEXPORT(WdfPdoInitAddDeviceText)( 3650 _In_ 3651 PWDF_DRIVER_GLOBALS DriverGlobals, 3652 _In_ 3653 PWDFDEVICE_INIT DeviceInit, 3654 _In_ 3655 PCUNICODE_STRING DeviceDescription, 3656 _In_ 3657 PCUNICODE_STRING DeviceLocation, 3658 _In_ 3659 LCID LocaleId 3660 ); 3661 3662 _IRQL_requires_max_(PASSIVE_LEVEL) 3663 WDFAPI 3664 VOID 3665 VFWDFEXPORT(WdfPdoInitSetDefaultLocale)( 3666 _In_ 3667 PWDF_DRIVER_GLOBALS DriverGlobals, 3668 _In_ 3669 PWDFDEVICE_INIT DeviceInit, 3670 _In_ 3671 LCID LocaleId 3672 ); 3673 3674 _Must_inspect_result_ 3675 _IRQL_requires_max_(PASSIVE_LEVEL) 3676 WDFAPI 3677 NTSTATUS 3678 VFWDFEXPORT(WdfPdoInitAssignRawDevice)( 3679 _In_ 3680 PWDF_DRIVER_GLOBALS DriverGlobals, 3681 _In_ 3682 PWDFDEVICE_INIT DeviceInit, 3683 _In_ 3684 CONST GUID* DeviceClassGuid 3685 ); 3686 3687 _IRQL_requires_max_(PASSIVE_LEVEL) 3688 WDFAPI 3689 VOID 3690 VFWDFEXPORT(WdfPdoInitAllowForwardingRequestToParent)( 3691 _In_ 3692 PWDF_DRIVER_GLOBALS DriverGlobals, 3693 _In_ 3694 PWDFDEVICE_INIT DeviceInit 3695 ); 3696 3697 _Must_inspect_result_ 3698 _IRQL_requires_max_(DISPATCH_LEVEL) 3699 WDFAPI 3700 NTSTATUS 3701 VFWDFEXPORT(WdfPdoMarkMissing)( 3702 _In_ 3703 PWDF_DRIVER_GLOBALS DriverGlobals, 3704 _In_ 3705 WDFDEVICE Device 3706 ); 3707 3708 _IRQL_requires_max_(DISPATCH_LEVEL) 3709 WDFAPI 3710 VOID 3711 VFWDFEXPORT(WdfPdoRequestEject)( 3712 _In_ 3713 PWDF_DRIVER_GLOBALS DriverGlobals, 3714 _In_ 3715 WDFDEVICE Device 3716 ); 3717 3718 _IRQL_requires_max_(DISPATCH_LEVEL) 3719 WDFAPI 3720 WDFDEVICE 3721 VFWDFEXPORT(WdfPdoGetParent)( 3722 _In_ 3723 PWDF_DRIVER_GLOBALS DriverGlobals, 3724 _In_ 3725 WDFDEVICE Device 3726 ); 3727 3728 _Must_inspect_result_ 3729 _IRQL_requires_max_(DISPATCH_LEVEL) 3730 WDFAPI 3731 NTSTATUS 3732 VFWDFEXPORT(WdfPdoRetrieveIdentificationDescription)( 3733 _In_ 3734 PWDF_DRIVER_GLOBALS DriverGlobals, 3735 _In_ 3736 WDFDEVICE Device, 3737 _Inout_ 3738 PWDF_CHILD_IDENTIFICATION_DESCRIPTION_HEADER IdentificationDescription 3739 ); 3740 3741 _Must_inspect_result_ 3742 _IRQL_requires_max_(DISPATCH_LEVEL) 3743 WDFAPI 3744 NTSTATUS 3745 VFWDFEXPORT(WdfPdoRetrieveAddressDescription)( 3746 _In_ 3747 PWDF_DRIVER_GLOBALS DriverGlobals, 3748 _In_ 3749 WDFDEVICE Device, 3750 _Inout_ 3751 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 3752 ); 3753 3754 _Must_inspect_result_ 3755 _IRQL_requires_max_(DISPATCH_LEVEL) 3756 WDFAPI 3757 NTSTATUS 3758 VFWDFEXPORT(WdfPdoUpdateAddressDescription)( 3759 _In_ 3760 PWDF_DRIVER_GLOBALS DriverGlobals, 3761 _In_ 3762 WDFDEVICE Device, 3763 _Inout_ 3764 PWDF_CHILD_ADDRESS_DESCRIPTION_HEADER AddressDescription 3765 ); 3766 3767 _Must_inspect_result_ 3768 _IRQL_requires_max_(DISPATCH_LEVEL) 3769 WDFAPI 3770 NTSTATUS 3771 VFWDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice)( 3772 _In_ 3773 PWDF_DRIVER_GLOBALS DriverGlobals, 3774 _In_ 3775 WDFDEVICE Device, 3776 _In_ 3777 PDEVICE_OBJECT PhysicalDevice 3778 ); 3779 3780 _IRQL_requires_max_(DISPATCH_LEVEL) 3781 WDFAPI 3782 VOID 3783 VFWDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice)( 3784 _In_ 3785 PWDF_DRIVER_GLOBALS DriverGlobals, 3786 _In_ 3787 WDFDEVICE Device, 3788 _In_ 3789 PDEVICE_OBJECT PhysicalDevice 3790 ); 3791 3792 _IRQL_requires_max_(DISPATCH_LEVEL) 3793 WDFAPI 3794 VOID 3795 VFWDFEXPORT(WdfPdoClearEjectionRelationsDevices)( 3796 _In_ 3797 PWDF_DRIVER_GLOBALS DriverGlobals, 3798 _In_ 3799 WDFDEVICE Device 3800 ); 3801 3802 _Must_inspect_result_ 3803 _IRQL_requires_max_(PASSIVE_LEVEL) 3804 WDFAPI 3805 NTSTATUS 3806 VFWDFEXPORT(WdfDeviceAddQueryInterface)( 3807 _In_ 3808 PWDF_DRIVER_GLOBALS DriverGlobals, 3809 _In_ 3810 WDFDEVICE Device, 3811 _In_ 3812 PWDF_QUERY_INTERFACE_CONFIG InterfaceConfig 3813 ); 3814 3815 _Must_inspect_result_ 3816 _IRQL_requires_max_(PASSIVE_LEVEL) 3817 WDFAPI 3818 NTSTATUS 3819 VFWDFEXPORT(WdfRegistryOpenKey)( 3820 _In_ 3821 PWDF_DRIVER_GLOBALS DriverGlobals, 3822 _In_opt_ 3823 WDFKEY ParentKey, 3824 _In_ 3825 PCUNICODE_STRING KeyName, 3826 _In_ 3827 ACCESS_MASK DesiredAccess, 3828 _In_opt_ 3829 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 3830 _Out_ 3831 WDFKEY* Key 3832 ); 3833 3834 _Must_inspect_result_ 3835 _IRQL_requires_max_(PASSIVE_LEVEL) 3836 WDFAPI 3837 NTSTATUS 3838 VFWDFEXPORT(WdfRegistryCreateKey)( 3839 _In_ 3840 PWDF_DRIVER_GLOBALS DriverGlobals, 3841 _In_opt_ 3842 WDFKEY ParentKey, 3843 _In_ 3844 PCUNICODE_STRING KeyName, 3845 _In_ 3846 ACCESS_MASK DesiredAccess, 3847 _In_ 3848 ULONG CreateOptions, 3849 _Out_opt_ 3850 PULONG CreateDisposition, 3851 _In_opt_ 3852 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 3853 _Out_ 3854 WDFKEY* Key 3855 ); 3856 3857 _IRQL_requires_max_(PASSIVE_LEVEL) 3858 WDFAPI 3859 VOID 3860 VFWDFEXPORT(WdfRegistryClose)( 3861 _In_ 3862 PWDF_DRIVER_GLOBALS DriverGlobals, 3863 _In_ 3864 WDFKEY Key 3865 ); 3866 3867 _IRQL_requires_max_(PASSIVE_LEVEL) 3868 WDFAPI 3869 HANDLE 3870 VFWDFEXPORT(WdfRegistryWdmGetHandle)( 3871 _In_ 3872 PWDF_DRIVER_GLOBALS DriverGlobals, 3873 _In_ 3874 WDFKEY Key 3875 ); 3876 3877 _Must_inspect_result_ 3878 _IRQL_requires_max_(PASSIVE_LEVEL) 3879 WDFAPI 3880 NTSTATUS 3881 VFWDFEXPORT(WdfRegistryRemoveKey)( 3882 _In_ 3883 PWDF_DRIVER_GLOBALS DriverGlobals, 3884 _In_ 3885 WDFKEY Key 3886 ); 3887 3888 _Must_inspect_result_ 3889 _IRQL_requires_max_(PASSIVE_LEVEL) 3890 WDFAPI 3891 NTSTATUS 3892 VFWDFEXPORT(WdfRegistryRemoveValue)( 3893 _In_ 3894 PWDF_DRIVER_GLOBALS DriverGlobals, 3895 _In_ 3896 WDFKEY Key, 3897 _In_ 3898 PCUNICODE_STRING ValueName 3899 ); 3900 3901 _Must_inspect_result_ 3902 _IRQL_requires_max_(PASSIVE_LEVEL) 3903 WDFAPI 3904 NTSTATUS 3905 VFWDFEXPORT(WdfRegistryQueryValue)( 3906 _In_ 3907 PWDF_DRIVER_GLOBALS DriverGlobals, 3908 _In_ 3909 WDFKEY Key, 3910 _In_ 3911 PCUNICODE_STRING ValueName, 3912 _In_ 3913 ULONG ValueLength, 3914 _Out_writes_bytes_opt_( ValueLength) 3915 PVOID Value, 3916 _Out_opt_ 3917 PULONG ValueLengthQueried, 3918 _Out_opt_ 3919 PULONG ValueType 3920 ); 3921 3922 _Must_inspect_result_ 3923 _IRQL_requires_max_(PASSIVE_LEVEL) 3924 WDFAPI 3925 NTSTATUS 3926 VFWDFEXPORT(WdfRegistryQueryMemory)( 3927 _In_ 3928 PWDF_DRIVER_GLOBALS DriverGlobals, 3929 _In_ 3930 WDFKEY Key, 3931 _In_ 3932 PCUNICODE_STRING ValueName, 3933 _In_ 3934 _Strict_type_match_ 3935 POOL_TYPE PoolType, 3936 _In_opt_ 3937 PWDF_OBJECT_ATTRIBUTES MemoryAttributes, 3938 _Out_ 3939 WDFMEMORY* Memory, 3940 _Out_opt_ 3941 PULONG ValueType 3942 ); 3943 3944 _Must_inspect_result_ 3945 _IRQL_requires_max_(PASSIVE_LEVEL) 3946 WDFAPI 3947 NTSTATUS 3948 VFWDFEXPORT(WdfRegistryQueryMultiString)( 3949 _In_ 3950 PWDF_DRIVER_GLOBALS DriverGlobals, 3951 _In_ 3952 WDFKEY Key, 3953 _In_ 3954 PCUNICODE_STRING ValueName, 3955 _In_opt_ 3956 PWDF_OBJECT_ATTRIBUTES StringsAttributes, 3957 _In_ 3958 WDFCOLLECTION Collection 3959 ); 3960 3961 _Must_inspect_result_ 3962 _IRQL_requires_max_(PASSIVE_LEVEL) 3963 WDFAPI 3964 NTSTATUS 3965 VFWDFEXPORT(WdfRegistryQueryUnicodeString)( 3966 _In_ 3967 PWDF_DRIVER_GLOBALS DriverGlobals, 3968 _In_ 3969 WDFKEY Key, 3970 _In_ 3971 PCUNICODE_STRING ValueName, 3972 _Out_opt_ 3973 PUSHORT ValueByteLength, 3974 _Inout_opt_ 3975 PUNICODE_STRING Value 3976 ); 3977 3978 _Must_inspect_result_ 3979 _IRQL_requires_max_(PASSIVE_LEVEL) 3980 WDFAPI 3981 NTSTATUS 3982 VFWDFEXPORT(WdfRegistryQueryString)( 3983 _In_ 3984 PWDF_DRIVER_GLOBALS DriverGlobals, 3985 _In_ 3986 WDFKEY Key, 3987 _In_ 3988 PCUNICODE_STRING ValueName, 3989 _In_ 3990 WDFSTRING String 3991 ); 3992 3993 _Must_inspect_result_ 3994 _IRQL_requires_max_(PASSIVE_LEVEL) 3995 WDFAPI 3996 NTSTATUS 3997 VFWDFEXPORT(WdfRegistryQueryULong)( 3998 _In_ 3999 PWDF_DRIVER_GLOBALS DriverGlobals, 4000 _In_ 4001 WDFKEY Key, 4002 _In_ 4003 PCUNICODE_STRING ValueName, 4004 _Out_ 4005 PULONG Value 4006 ); 4007 4008 _Must_inspect_result_ 4009 _IRQL_requires_max_(PASSIVE_LEVEL) 4010 WDFAPI 4011 NTSTATUS 4012 VFWDFEXPORT(WdfRegistryAssignValue)( 4013 _In_ 4014 PWDF_DRIVER_GLOBALS DriverGlobals, 4015 _In_ 4016 WDFKEY Key, 4017 _In_ 4018 PCUNICODE_STRING ValueName, 4019 _In_ 4020 ULONG ValueType, 4021 _In_ 4022 ULONG ValueLength, 4023 _In_reads_( ValueLength) 4024 PVOID Value 4025 ); 4026 4027 _Must_inspect_result_ 4028 _IRQL_requires_max_(PASSIVE_LEVEL) 4029 WDFAPI 4030 NTSTATUS 4031 VFWDFEXPORT(WdfRegistryAssignMemory)( 4032 _In_ 4033 PWDF_DRIVER_GLOBALS DriverGlobals, 4034 _In_ 4035 WDFKEY Key, 4036 _In_ 4037 PCUNICODE_STRING ValueName, 4038 _In_ 4039 ULONG ValueType, 4040 _In_ 4041 WDFMEMORY Memory, 4042 _In_opt_ 4043 PWDFMEMORY_OFFSET MemoryOffsets 4044 ); 4045 4046 _Must_inspect_result_ 4047 _IRQL_requires_max_(PASSIVE_LEVEL) 4048 WDFAPI 4049 NTSTATUS 4050 VFWDFEXPORT(WdfRegistryAssignMultiString)( 4051 _In_ 4052 PWDF_DRIVER_GLOBALS DriverGlobals, 4053 _In_ 4054 WDFKEY Key, 4055 _In_ 4056 PCUNICODE_STRING ValueName, 4057 _In_ 4058 WDFCOLLECTION StringsCollection 4059 ); 4060 4061 _Must_inspect_result_ 4062 _IRQL_requires_max_(PASSIVE_LEVEL) 4063 WDFAPI 4064 NTSTATUS 4065 VFWDFEXPORT(WdfRegistryAssignUnicodeString)( 4066 _In_ 4067 PWDF_DRIVER_GLOBALS DriverGlobals, 4068 _In_ 4069 WDFKEY Key, 4070 _In_ 4071 PCUNICODE_STRING ValueName, 4072 _In_ 4073 PCUNICODE_STRING Value 4074 ); 4075 4076 _Must_inspect_result_ 4077 _IRQL_requires_max_(PASSIVE_LEVEL) 4078 WDFAPI 4079 NTSTATUS 4080 VFWDFEXPORT(WdfRegistryAssignString)( 4081 _In_ 4082 PWDF_DRIVER_GLOBALS DriverGlobals, 4083 _In_ 4084 WDFKEY Key, 4085 _In_ 4086 PCUNICODE_STRING ValueName, 4087 _In_ 4088 WDFSTRING String 4089 ); 4090 4091 _Must_inspect_result_ 4092 _IRQL_requires_max_(PASSIVE_LEVEL) 4093 WDFAPI 4094 NTSTATUS 4095 VFWDFEXPORT(WdfRegistryAssignULong)( 4096 _In_ 4097 PWDF_DRIVER_GLOBALS DriverGlobals, 4098 _In_ 4099 WDFKEY Key, 4100 _In_ 4101 PCUNICODE_STRING ValueName, 4102 _In_ 4103 ULONG Value 4104 ); 4105 4106 _Must_inspect_result_ 4107 _IRQL_requires_max_(DISPATCH_LEVEL) 4108 WDFAPI 4109 NTSTATUS 4110 VFWDFEXPORT(WdfRequestCreate)( 4111 _In_ 4112 PWDF_DRIVER_GLOBALS DriverGlobals, 4113 _In_opt_ 4114 PWDF_OBJECT_ATTRIBUTES RequestAttributes, 4115 _In_opt_ 4116 WDFIOTARGET IoTarget, 4117 _Out_ 4118 WDFREQUEST* Request 4119 ); 4120 4121 _Must_inspect_result_ 4122 _IRQL_requires_max_(DISPATCH_LEVEL) 4123 WDFAPI 4124 NTSTATUS 4125 VFWDFEXPORT(WdfRequestCreateFromIrp)( 4126 _In_ 4127 PWDF_DRIVER_GLOBALS DriverGlobals, 4128 _In_opt_ 4129 PWDF_OBJECT_ATTRIBUTES RequestAttributes, 4130 _In_ 4131 PIRP Irp, 4132 _In_ 4133 BOOLEAN RequestFreesIrp, 4134 _Out_ 4135 WDFREQUEST* Request 4136 ); 4137 4138 _IRQL_requires_max_(DISPATCH_LEVEL) 4139 WDFAPI 4140 NTSTATUS 4141 VFWDFEXPORT(WdfRequestReuse)( 4142 _In_ 4143 PWDF_DRIVER_GLOBALS DriverGlobals, 4144 _In_ 4145 WDFREQUEST Request, 4146 _In_ 4147 PWDF_REQUEST_REUSE_PARAMS ReuseParams 4148 ); 4149 4150 _Must_inspect_result_ 4151 _IRQL_requires_max_(DISPATCH_LEVEL) 4152 WDFAPI 4153 NTSTATUS 4154 VFWDFEXPORT(WdfRequestChangeTarget)( 4155 _In_ 4156 PWDF_DRIVER_GLOBALS DriverGlobals, 4157 _In_ 4158 WDFREQUEST Request, 4159 _In_ 4160 WDFIOTARGET IoTarget 4161 ); 4162 4163 _IRQL_requires_max_(DISPATCH_LEVEL) 4164 WDFAPI 4165 VOID 4166 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType)( 4167 _In_ 4168 PWDF_DRIVER_GLOBALS DriverGlobals, 4169 _In_ 4170 WDFREQUEST Request 4171 ); 4172 4173 _IRQL_requires_max_(DISPATCH_LEVEL) 4174 WDFAPI 4175 VOID 4176 VFWDFEXPORT(WdfRequestWdmFormatUsingStackLocation)( 4177 _In_ 4178 PWDF_DRIVER_GLOBALS DriverGlobals, 4179 _In_ 4180 WDFREQUEST Request, 4181 _In_ 4182 PIO_STACK_LOCATION Stack 4183 ); 4184 4185 _IRQL_requires_max_(DISPATCH_LEVEL) 4186 _When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_) 4187 WDFAPI 4188 BOOLEAN 4189 VFWDFEXPORT(WdfRequestSend)( 4190 _In_ 4191 PWDF_DRIVER_GLOBALS DriverGlobals, 4192 _In_ 4193 WDFREQUEST Request, 4194 _In_ 4195 WDFIOTARGET Target, 4196 _In_opt_ 4197 PWDF_REQUEST_SEND_OPTIONS Options 4198 ); 4199 4200 _Must_inspect_result_ 4201 _IRQL_requires_max_(DISPATCH_LEVEL) 4202 WDFAPI 4203 NTSTATUS 4204 VFWDFEXPORT(WdfRequestGetStatus)( 4205 _In_ 4206 PWDF_DRIVER_GLOBALS DriverGlobals, 4207 _In_ 4208 WDFREQUEST Request 4209 ); 4210 4211 _IRQL_requires_max_(DISPATCH_LEVEL) 4212 WDFAPI 4213 VOID 4214 VFWDFEXPORT(WdfRequestMarkCancelable)( 4215 _In_ 4216 PWDF_DRIVER_GLOBALS DriverGlobals, 4217 _In_ 4218 WDFREQUEST Request, 4219 _In_ 4220 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 4221 ); 4222 4223 _Must_inspect_result_ 4224 _IRQL_requires_max_(DISPATCH_LEVEL) 4225 WDFAPI 4226 NTSTATUS 4227 VFWDFEXPORT(WdfRequestMarkCancelableEx)( 4228 _In_ 4229 PWDF_DRIVER_GLOBALS DriverGlobals, 4230 _In_ 4231 WDFREQUEST Request, 4232 _In_ 4233 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 4234 ); 4235 4236 _Must_inspect_result_ 4237 _IRQL_requires_max_(DISPATCH_LEVEL) 4238 WDFAPI 4239 NTSTATUS 4240 VFWDFEXPORT(WdfRequestUnmarkCancelable)( 4241 _In_ 4242 PWDF_DRIVER_GLOBALS DriverGlobals, 4243 _In_ 4244 WDFREQUEST Request 4245 ); 4246 4247 _Must_inspect_result_ 4248 _IRQL_requires_max_(DISPATCH_LEVEL) 4249 WDFAPI 4250 BOOLEAN 4251 VFWDFEXPORT(WdfRequestIsCanceled)( 4252 _In_ 4253 PWDF_DRIVER_GLOBALS DriverGlobals, 4254 _In_ 4255 WDFREQUEST Request 4256 ); 4257 4258 _IRQL_requires_max_(DISPATCH_LEVEL) 4259 WDFAPI 4260 BOOLEAN 4261 VFWDFEXPORT(WdfRequestCancelSentRequest)( 4262 _In_ 4263 PWDF_DRIVER_GLOBALS DriverGlobals, 4264 _In_ 4265 WDFREQUEST Request 4266 ); 4267 4268 _Must_inspect_result_ 4269 _IRQL_requires_max_(APC_LEVEL) 4270 WDFAPI 4271 BOOLEAN 4272 VFWDFEXPORT(WdfRequestIsFrom32BitProcess)( 4273 _In_ 4274 PWDF_DRIVER_GLOBALS DriverGlobals, 4275 _In_ 4276 WDFREQUEST Request 4277 ); 4278 4279 _IRQL_requires_max_(DISPATCH_LEVEL) 4280 WDFAPI 4281 VOID 4282 VFWDFEXPORT(WdfRequestSetCompletionRoutine)( 4283 _In_ 4284 PWDF_DRIVER_GLOBALS DriverGlobals, 4285 _In_ 4286 WDFREQUEST Request, 4287 _In_opt_ 4288 PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine, 4289 _In_opt_ __drv_aliasesMem 4290 WDFCONTEXT CompletionContext 4291 ); 4292 4293 _IRQL_requires_max_(DISPATCH_LEVEL) 4294 WDFAPI 4295 VOID 4296 VFWDFEXPORT(WdfRequestGetCompletionParams)( 4297 _In_ 4298 PWDF_DRIVER_GLOBALS DriverGlobals, 4299 _In_ 4300 WDFREQUEST Request, 4301 _Out_ 4302 PWDF_REQUEST_COMPLETION_PARAMS Params 4303 ); 4304 4305 _Must_inspect_result_ 4306 _IRQL_requires_max_(DISPATCH_LEVEL) 4307 WDFAPI 4308 NTSTATUS 4309 VFWDFEXPORT(WdfRequestAllocateTimer)( 4310 _In_ 4311 PWDF_DRIVER_GLOBALS DriverGlobals, 4312 _In_ 4313 WDFREQUEST Request 4314 ); 4315 4316 _IRQL_requires_max_(DISPATCH_LEVEL) 4317 WDFAPI 4318 VOID 4319 VFWDFEXPORT(WdfRequestComplete)( 4320 _In_ 4321 PWDF_DRIVER_GLOBALS DriverGlobals, 4322 _In_ 4323 WDFREQUEST Request, 4324 _In_ 4325 NTSTATUS Status 4326 ); 4327 4328 _IRQL_requires_max_(DISPATCH_LEVEL) 4329 WDFAPI 4330 VOID 4331 VFWDFEXPORT(WdfRequestCompleteWithPriorityBoost)( 4332 _In_ 4333 PWDF_DRIVER_GLOBALS DriverGlobals, 4334 _In_ 4335 WDFREQUEST Request, 4336 _In_ 4337 NTSTATUS Status, 4338 _In_ 4339 CCHAR PriorityBoost 4340 ); 4341 4342 _IRQL_requires_max_(DISPATCH_LEVEL) 4343 WDFAPI 4344 VOID 4345 VFWDFEXPORT(WdfRequestCompleteWithInformation)( 4346 _In_ 4347 PWDF_DRIVER_GLOBALS DriverGlobals, 4348 _In_ 4349 WDFREQUEST Request, 4350 _In_ 4351 NTSTATUS Status, 4352 _In_ 4353 ULONG_PTR Information 4354 ); 4355 4356 _IRQL_requires_max_(DISPATCH_LEVEL) 4357 WDFAPI 4358 VOID 4359 VFWDFEXPORT(WdfRequestGetParameters)( 4360 _In_ 4361 PWDF_DRIVER_GLOBALS DriverGlobals, 4362 _In_ 4363 WDFREQUEST Request, 4364 _Out_ 4365 PWDF_REQUEST_PARAMETERS Parameters 4366 ); 4367 4368 _Must_inspect_result_ 4369 _IRQL_requires_max_(DISPATCH_LEVEL) 4370 WDFAPI 4371 NTSTATUS 4372 VFWDFEXPORT(WdfRequestRetrieveInputMemory)( 4373 _In_ 4374 PWDF_DRIVER_GLOBALS DriverGlobals, 4375 _In_ 4376 WDFREQUEST Request, 4377 _Out_ 4378 WDFMEMORY* Memory 4379 ); 4380 4381 _Must_inspect_result_ 4382 _IRQL_requires_max_(DISPATCH_LEVEL) 4383 WDFAPI 4384 NTSTATUS 4385 VFWDFEXPORT(WdfRequestRetrieveOutputMemory)( 4386 _In_ 4387 PWDF_DRIVER_GLOBALS DriverGlobals, 4388 _In_ 4389 WDFREQUEST Request, 4390 _Out_ 4391 WDFMEMORY* Memory 4392 ); 4393 4394 _Must_inspect_result_ 4395 _IRQL_requires_max_(DISPATCH_LEVEL) 4396 WDFAPI 4397 NTSTATUS 4398 VFWDFEXPORT(WdfRequestRetrieveInputBuffer)( 4399 _In_ 4400 PWDF_DRIVER_GLOBALS DriverGlobals, 4401 _In_ 4402 WDFREQUEST Request, 4403 _In_ 4404 size_t MinimumRequiredLength, 4405 _Outptr_result_bytebuffer_(*Length) 4406 PVOID* Buffer, 4407 _Out_opt_ 4408 size_t* Length 4409 ); 4410 4411 _Must_inspect_result_ 4412 _IRQL_requires_max_(DISPATCH_LEVEL) 4413 WDFAPI 4414 NTSTATUS 4415 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer)( 4416 _In_ 4417 PWDF_DRIVER_GLOBALS DriverGlobals, 4418 _In_ 4419 WDFREQUEST Request, 4420 _In_ 4421 size_t MinimumRequiredSize, 4422 _Outptr_result_bytebuffer_(*Length) 4423 PVOID* Buffer, 4424 _Out_opt_ 4425 size_t* Length 4426 ); 4427 4428 _Must_inspect_result_ 4429 _IRQL_requires_max_(DISPATCH_LEVEL) 4430 WDFAPI 4431 NTSTATUS 4432 VFWDFEXPORT(WdfRequestRetrieveInputWdmMdl)( 4433 _In_ 4434 PWDF_DRIVER_GLOBALS DriverGlobals, 4435 _In_ 4436 WDFREQUEST Request, 4437 _Outptr_ 4438 PMDL* Mdl 4439 ); 4440 4441 _Must_inspect_result_ 4442 _IRQL_requires_max_(DISPATCH_LEVEL) 4443 WDFAPI 4444 NTSTATUS 4445 VFWDFEXPORT(WdfRequestRetrieveOutputWdmMdl)( 4446 _In_ 4447 PWDF_DRIVER_GLOBALS DriverGlobals, 4448 _In_ 4449 WDFREQUEST Request, 4450 _Outptr_ 4451 PMDL* Mdl 4452 ); 4453 4454 _Must_inspect_result_ 4455 _IRQL_requires_max_(PASSIVE_LEVEL) 4456 WDFAPI 4457 NTSTATUS 4458 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer)( 4459 _In_ 4460 PWDF_DRIVER_GLOBALS DriverGlobals, 4461 _In_ 4462 WDFREQUEST Request, 4463 _In_ 4464 size_t MinimumRequiredLength, 4465 _Outptr_result_bytebuffer_maybenull_(*Length) 4466 PVOID* InputBuffer, 4467 _Out_opt_ 4468 size_t* Length 4469 ); 4470 4471 _Must_inspect_result_ 4472 _IRQL_requires_max_(PASSIVE_LEVEL) 4473 WDFAPI 4474 NTSTATUS 4475 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer)( 4476 _In_ 4477 PWDF_DRIVER_GLOBALS DriverGlobals, 4478 _In_ 4479 WDFREQUEST Request, 4480 _In_ 4481 size_t MinimumRequiredLength, 4482 _Outptr_result_bytebuffer_maybenull_(*Length) 4483 PVOID* OutputBuffer, 4484 _Out_opt_ 4485 size_t* Length 4486 ); 4487 4488 _IRQL_requires_max_(DISPATCH_LEVEL) 4489 WDFAPI 4490 VOID 4491 VFWDFEXPORT(WdfRequestSetInformation)( 4492 _In_ 4493 PWDF_DRIVER_GLOBALS DriverGlobals, 4494 _In_ 4495 WDFREQUEST Request, 4496 _In_ 4497 ULONG_PTR Information 4498 ); 4499 4500 _IRQL_requires_max_(DISPATCH_LEVEL) 4501 WDFAPI 4502 ULONG_PTR 4503 VFWDFEXPORT(WdfRequestGetInformation)( 4504 _In_ 4505 PWDF_DRIVER_GLOBALS DriverGlobals, 4506 _In_ 4507 WDFREQUEST Request 4508 ); 4509 4510 _IRQL_requires_max_(DISPATCH_LEVEL) 4511 WDFAPI 4512 WDFFILEOBJECT 4513 VFWDFEXPORT(WdfRequestGetFileObject)( 4514 _In_ 4515 PWDF_DRIVER_GLOBALS DriverGlobals, 4516 _In_ 4517 WDFREQUEST Request 4518 ); 4519 4520 _Must_inspect_result_ 4521 _IRQL_requires_max_(PASSIVE_LEVEL) 4522 WDFAPI 4523 NTSTATUS 4524 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForRead)( 4525 _In_ 4526 PWDF_DRIVER_GLOBALS DriverGlobals, 4527 _In_ 4528 WDFREQUEST Request, 4529 _In_reads_bytes_(Length) 4530 PVOID Buffer, 4531 _In_ 4532 size_t Length, 4533 _Out_ 4534 WDFMEMORY* MemoryObject 4535 ); 4536 4537 _Must_inspect_result_ 4538 _IRQL_requires_max_(PASSIVE_LEVEL) 4539 WDFAPI 4540 NTSTATUS 4541 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite)( 4542 _In_ 4543 PWDF_DRIVER_GLOBALS DriverGlobals, 4544 _In_ 4545 WDFREQUEST Request, 4546 _In_reads_bytes_(Length) 4547 PVOID Buffer, 4548 _In_ 4549 size_t Length, 4550 _Out_ 4551 WDFMEMORY* MemoryObject 4552 ); 4553 4554 _IRQL_requires_max_(DISPATCH_LEVEL) 4555 WDFAPI 4556 KPROCESSOR_MODE 4557 VFWDFEXPORT(WdfRequestGetRequestorMode)( 4558 _In_ 4559 PWDF_DRIVER_GLOBALS DriverGlobals, 4560 _In_ 4561 WDFREQUEST Request 4562 ); 4563 4564 _Must_inspect_result_ 4565 _IRQL_requires_max_(DISPATCH_LEVEL) 4566 WDFAPI 4567 NTSTATUS 4568 VFWDFEXPORT(WdfRequestForwardToIoQueue)( 4569 _In_ 4570 PWDF_DRIVER_GLOBALS DriverGlobals, 4571 _In_ 4572 WDFREQUEST Request, 4573 _In_ 4574 WDFQUEUE DestinationQueue 4575 ); 4576 4577 _IRQL_requires_max_(DISPATCH_LEVEL) 4578 WDFAPI 4579 WDFQUEUE 4580 VFWDFEXPORT(WdfRequestGetIoQueue)( 4581 _In_ 4582 PWDF_DRIVER_GLOBALS DriverGlobals, 4583 _In_ 4584 WDFREQUEST Request 4585 ); 4586 4587 _Must_inspect_result_ 4588 _IRQL_requires_max_(DISPATCH_LEVEL) 4589 WDFAPI 4590 NTSTATUS 4591 VFWDFEXPORT(WdfRequestRequeue)( 4592 _In_ 4593 PWDF_DRIVER_GLOBALS DriverGlobals, 4594 _In_ 4595 WDFREQUEST Request 4596 ); 4597 4598 _IRQL_requires_max_(DISPATCH_LEVEL) 4599 WDFAPI 4600 VOID 4601 VFWDFEXPORT(WdfRequestStopAcknowledge)( 4602 _In_ 4603 PWDF_DRIVER_GLOBALS DriverGlobals, 4604 _In_ 4605 WDFREQUEST Request, 4606 _In_ 4607 BOOLEAN Requeue 4608 ); 4609 4610 _IRQL_requires_max_(DISPATCH_LEVEL) 4611 WDFAPI 4612 PIRP 4613 VFWDFEXPORT(WdfRequestWdmGetIrp)( 4614 _In_ 4615 PWDF_DRIVER_GLOBALS DriverGlobals, 4616 _In_ 4617 WDFREQUEST Request 4618 ); 4619 4620 _IRQL_requires_max_(DISPATCH_LEVEL) 4621 WDFAPI 4622 BOOLEAN 4623 VFWDFEXPORT(WdfRequestIsReserved)( 4624 _In_ 4625 PWDF_DRIVER_GLOBALS DriverGlobals, 4626 _In_ 4627 WDFREQUEST Request 4628 ); 4629 4630 _Must_inspect_result_ 4631 _IRQL_requires_max_(DISPATCH_LEVEL) 4632 WDFAPI 4633 NTSTATUS 4634 VFWDFEXPORT(WdfRequestForwardToParentDeviceIoQueue)( 4635 _In_ 4636 PWDF_DRIVER_GLOBALS DriverGlobals, 4637 _In_ 4638 WDFREQUEST Request, 4639 _In_ 4640 WDFQUEUE ParentDeviceQueue, 4641 _In_ 4642 PWDF_REQUEST_FORWARD_OPTIONS ForwardOptions 4643 ); 4644 4645 _IRQL_requires_max_(DISPATCH_LEVEL) 4646 WDFAPI 4647 VOID 4648 VFWDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber)( 4649 _In_ 4650 PWDF_DRIVER_GLOBALS DriverGlobals, 4651 _In_ 4652 WDFIORESREQLIST RequirementsList, 4653 _In_ 4654 ULONG SlotNumber 4655 ); 4656 4657 _IRQL_requires_max_(DISPATCH_LEVEL) 4658 WDFAPI 4659 VOID 4660 VFWDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType)( 4661 _In_ 4662 PWDF_DRIVER_GLOBALS DriverGlobals, 4663 _In_ 4664 WDFIORESREQLIST RequirementsList, 4665 _In_ 4666 _Strict_type_match_ 4667 INTERFACE_TYPE InterfaceType 4668 ); 4669 4670 _Must_inspect_result_ 4671 _IRQL_requires_max_(DISPATCH_LEVEL) 4672 WDFAPI 4673 NTSTATUS 4674 VFWDFEXPORT(WdfIoResourceRequirementsListAppendIoResList)( 4675 _In_ 4676 PWDF_DRIVER_GLOBALS DriverGlobals, 4677 _In_ 4678 WDFIORESREQLIST RequirementsList, 4679 _In_ 4680 WDFIORESLIST IoResList 4681 ); 4682 4683 _Must_inspect_result_ 4684 _IRQL_requires_max_(DISPATCH_LEVEL) 4685 WDFAPI 4686 NTSTATUS 4687 VFWDFEXPORT(WdfIoResourceRequirementsListInsertIoResList)( 4688 _In_ 4689 PWDF_DRIVER_GLOBALS DriverGlobals, 4690 _In_ 4691 WDFIORESREQLIST RequirementsList, 4692 _In_ 4693 WDFIORESLIST IoResList, 4694 _In_ 4695 ULONG Index 4696 ); 4697 4698 _IRQL_requires_max_(DISPATCH_LEVEL) 4699 WDFAPI 4700 ULONG 4701 VFWDFEXPORT(WdfIoResourceRequirementsListGetCount)( 4702 _In_ 4703 PWDF_DRIVER_GLOBALS DriverGlobals, 4704 _In_ 4705 WDFIORESREQLIST RequirementsList 4706 ); 4707 4708 _IRQL_requires_max_(DISPATCH_LEVEL) 4709 WDFAPI 4710 WDFIORESLIST 4711 VFWDFEXPORT(WdfIoResourceRequirementsListGetIoResList)( 4712 _In_ 4713 PWDF_DRIVER_GLOBALS DriverGlobals, 4714 _In_ 4715 WDFIORESREQLIST RequirementsList, 4716 _In_ 4717 ULONG Index 4718 ); 4719 4720 _IRQL_requires_max_(DISPATCH_LEVEL) 4721 WDFAPI 4722 VOID 4723 VFWDFEXPORT(WdfIoResourceRequirementsListRemove)( 4724 _In_ 4725 PWDF_DRIVER_GLOBALS DriverGlobals, 4726 _In_ 4727 WDFIORESREQLIST RequirementsList, 4728 _In_ 4729 ULONG Index 4730 ); 4731 4732 _IRQL_requires_max_(DISPATCH_LEVEL) 4733 WDFAPI 4734 VOID 4735 VFWDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList)( 4736 _In_ 4737 PWDF_DRIVER_GLOBALS DriverGlobals, 4738 _In_ 4739 WDFIORESREQLIST RequirementsList, 4740 _In_ 4741 WDFIORESLIST IoResList 4742 ); 4743 4744 _Must_inspect_result_ 4745 _IRQL_requires_max_(DISPATCH_LEVEL) 4746 WDFAPI 4747 NTSTATUS 4748 VFWDFEXPORT(WdfIoResourceListCreate)( 4749 _In_ 4750 PWDF_DRIVER_GLOBALS DriverGlobals, 4751 _In_ 4752 WDFIORESREQLIST RequirementsList, 4753 _In_opt_ 4754 PWDF_OBJECT_ATTRIBUTES Attributes, 4755 _Out_ 4756 WDFIORESLIST* ResourceList 4757 ); 4758 4759 _Must_inspect_result_ 4760 _IRQL_requires_max_(DISPATCH_LEVEL) 4761 WDFAPI 4762 NTSTATUS 4763 VFWDFEXPORT(WdfIoResourceListAppendDescriptor)( 4764 _In_ 4765 PWDF_DRIVER_GLOBALS DriverGlobals, 4766 _In_ 4767 WDFIORESLIST ResourceList, 4768 _In_ 4769 PIO_RESOURCE_DESCRIPTOR Descriptor 4770 ); 4771 4772 _Must_inspect_result_ 4773 _IRQL_requires_max_(DISPATCH_LEVEL) 4774 WDFAPI 4775 NTSTATUS 4776 VFWDFEXPORT(WdfIoResourceListInsertDescriptor)( 4777 _In_ 4778 PWDF_DRIVER_GLOBALS DriverGlobals, 4779 _In_ 4780 WDFIORESLIST ResourceList, 4781 _In_ 4782 PIO_RESOURCE_DESCRIPTOR Descriptor, 4783 _In_ 4784 ULONG Index 4785 ); 4786 4787 _IRQL_requires_max_(DISPATCH_LEVEL) 4788 WDFAPI 4789 VOID 4790 VFWDFEXPORT(WdfIoResourceListUpdateDescriptor)( 4791 _In_ 4792 PWDF_DRIVER_GLOBALS DriverGlobals, 4793 _In_ 4794 WDFIORESLIST ResourceList, 4795 _In_ 4796 PIO_RESOURCE_DESCRIPTOR Descriptor, 4797 _In_ 4798 ULONG Index 4799 ); 4800 4801 _IRQL_requires_max_(DISPATCH_LEVEL) 4802 WDFAPI 4803 ULONG 4804 VFWDFEXPORT(WdfIoResourceListGetCount)( 4805 _In_ 4806 PWDF_DRIVER_GLOBALS DriverGlobals, 4807 _In_ 4808 WDFIORESLIST ResourceList 4809 ); 4810 4811 _IRQL_requires_max_(DISPATCH_LEVEL) 4812 WDFAPI 4813 PIO_RESOURCE_DESCRIPTOR 4814 VFWDFEXPORT(WdfIoResourceListGetDescriptor)( 4815 _In_ 4816 PWDF_DRIVER_GLOBALS DriverGlobals, 4817 _In_ 4818 WDFIORESLIST ResourceList, 4819 _In_ 4820 ULONG Index 4821 ); 4822 4823 _IRQL_requires_max_(DISPATCH_LEVEL) 4824 WDFAPI 4825 VOID 4826 VFWDFEXPORT(WdfIoResourceListRemove)( 4827 _In_ 4828 PWDF_DRIVER_GLOBALS DriverGlobals, 4829 _In_ 4830 WDFIORESLIST ResourceList, 4831 _In_ 4832 ULONG Index 4833 ); 4834 4835 _IRQL_requires_max_(DISPATCH_LEVEL) 4836 WDFAPI 4837 VOID 4838 VFWDFEXPORT(WdfIoResourceListRemoveByDescriptor)( 4839 _In_ 4840 PWDF_DRIVER_GLOBALS DriverGlobals, 4841 _In_ 4842 WDFIORESLIST ResourceList, 4843 _In_ 4844 PIO_RESOURCE_DESCRIPTOR Descriptor 4845 ); 4846 4847 _Must_inspect_result_ 4848 _IRQL_requires_max_(DISPATCH_LEVEL) 4849 WDFAPI 4850 NTSTATUS 4851 VFWDFEXPORT(WdfCmResourceListAppendDescriptor)( 4852 _In_ 4853 PWDF_DRIVER_GLOBALS DriverGlobals, 4854 _In_ 4855 WDFCMRESLIST List, 4856 _In_ 4857 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor 4858 ); 4859 4860 _Must_inspect_result_ 4861 _IRQL_requires_max_(DISPATCH_LEVEL) 4862 WDFAPI 4863 NTSTATUS 4864 VFWDFEXPORT(WdfCmResourceListInsertDescriptor)( 4865 _In_ 4866 PWDF_DRIVER_GLOBALS DriverGlobals, 4867 _In_ 4868 WDFCMRESLIST List, 4869 _In_ 4870 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor, 4871 _In_ 4872 ULONG Index 4873 ); 4874 4875 _IRQL_requires_max_(DISPATCH_LEVEL) 4876 WDFAPI 4877 ULONG 4878 VFWDFEXPORT(WdfCmResourceListGetCount)( 4879 _In_ 4880 PWDF_DRIVER_GLOBALS DriverGlobals, 4881 _In_ 4882 WDFCMRESLIST List 4883 ); 4884 4885 _IRQL_requires_max_(DISPATCH_LEVEL) 4886 WDFAPI 4887 PCM_PARTIAL_RESOURCE_DESCRIPTOR 4888 VFWDFEXPORT(WdfCmResourceListGetDescriptor)( 4889 _In_ 4890 PWDF_DRIVER_GLOBALS DriverGlobals, 4891 _In_ 4892 WDFCMRESLIST List, 4893 _In_ 4894 ULONG Index 4895 ); 4896 4897 _IRQL_requires_max_(DISPATCH_LEVEL) 4898 WDFAPI 4899 VOID 4900 VFWDFEXPORT(WdfCmResourceListRemove)( 4901 _In_ 4902 PWDF_DRIVER_GLOBALS DriverGlobals, 4903 _In_ 4904 WDFCMRESLIST List, 4905 _In_ 4906 ULONG Index 4907 ); 4908 4909 _IRQL_requires_max_(DISPATCH_LEVEL) 4910 WDFAPI 4911 VOID 4912 VFWDFEXPORT(WdfCmResourceListRemoveByDescriptor)( 4913 _In_ 4914 PWDF_DRIVER_GLOBALS DriverGlobals, 4915 _In_ 4916 WDFCMRESLIST List, 4917 _In_ 4918 PCM_PARTIAL_RESOURCE_DESCRIPTOR Descriptor 4919 ); 4920 4921 _Must_inspect_result_ 4922 _IRQL_requires_max_(PASSIVE_LEVEL) 4923 WDFAPI 4924 NTSTATUS 4925 VFWDFEXPORT(WdfStringCreate)( 4926 _In_ 4927 PWDF_DRIVER_GLOBALS DriverGlobals, 4928 _In_opt_ 4929 PCUNICODE_STRING UnicodeString, 4930 _In_opt_ 4931 PWDF_OBJECT_ATTRIBUTES StringAttributes, 4932 _Out_ 4933 WDFSTRING* String 4934 ); 4935 4936 _IRQL_requires_max_(PASSIVE_LEVEL) 4937 WDFAPI 4938 VOID 4939 VFWDFEXPORT(WdfStringGetUnicodeString)( 4940 _In_ 4941 PWDF_DRIVER_GLOBALS DriverGlobals, 4942 _In_ 4943 WDFSTRING String, 4944 _Out_ 4945 PUNICODE_STRING UnicodeString 4946 ); 4947 4948 _IRQL_requires_max_(DISPATCH_LEVEL) 4949 WDFAPI 4950 VOID 4951 VFWDFEXPORT(WdfObjectAcquireLock)( 4952 _In_ 4953 PWDF_DRIVER_GLOBALS DriverGlobals, 4954 _In_ 4955 _Requires_lock_not_held_(_Curr_) 4956 _Acquires_lock_(_Curr_) 4957 WDFOBJECT Object 4958 ); 4959 4960 _IRQL_requires_max_(DISPATCH_LEVEL) 4961 WDFAPI 4962 VOID 4963 VFWDFEXPORT(WdfObjectReleaseLock)( 4964 _In_ 4965 PWDF_DRIVER_GLOBALS DriverGlobals, 4966 _In_ 4967 _Requires_lock_held_(_Curr_) 4968 _Releases_lock_(_Curr_) 4969 WDFOBJECT Object 4970 ); 4971 4972 _Must_inspect_result_ 4973 _IRQL_requires_max_(DISPATCH_LEVEL) 4974 WDFAPI 4975 NTSTATUS 4976 VFWDFEXPORT(WdfWaitLockCreate)( 4977 _In_ 4978 PWDF_DRIVER_GLOBALS DriverGlobals, 4979 _In_opt_ 4980 PWDF_OBJECT_ATTRIBUTES LockAttributes, 4981 _Out_ 4982 WDFWAITLOCK* Lock 4983 ); 4984 4985 _When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL)) 4986 _When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 4987 _When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 4988 _Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock))) 4989 _When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock)) 4990 _When_(Timeout != NULL, _Must_inspect_result_) 4991 WDFAPI 4992 NTSTATUS 4993 VFWDFEXPORT(WdfWaitLockAcquire)( 4994 _In_ 4995 PWDF_DRIVER_GLOBALS DriverGlobals, 4996 _In_ 4997 _Requires_lock_not_held_(_Curr_) 4998 WDFWAITLOCK Lock, 4999 _In_opt_ 5000 PLONGLONG Timeout 5001 ); 5002 5003 _IRQL_requires_max_(DISPATCH_LEVEL) 5004 WDFAPI 5005 VOID 5006 VFWDFEXPORT(WdfWaitLockRelease)( 5007 _In_ 5008 PWDF_DRIVER_GLOBALS DriverGlobals, 5009 _In_ 5010 _Requires_lock_held_(_Curr_) 5011 _Releases_lock_(_Curr_) 5012 WDFWAITLOCK Lock 5013 ); 5014 5015 _Must_inspect_result_ 5016 _IRQL_requires_max_(DISPATCH_LEVEL) 5017 WDFAPI 5018 NTSTATUS 5019 VFWDFEXPORT(WdfSpinLockCreate)( 5020 _In_ 5021 PWDF_DRIVER_GLOBALS DriverGlobals, 5022 _In_opt_ 5023 PWDF_OBJECT_ATTRIBUTES SpinLockAttributes, 5024 _Out_ 5025 WDFSPINLOCK* SpinLock 5026 ); 5027 5028 _IRQL_requires_max_(DISPATCH_LEVEL) 5029 _IRQL_raises_(DISPATCH_LEVEL) 5030 WDFAPI 5031 VOID 5032 VFWDFEXPORT(WdfSpinLockAcquire)( 5033 _In_ 5034 PWDF_DRIVER_GLOBALS DriverGlobals, 5035 _In_ 5036 _Requires_lock_not_held_(_Curr_) 5037 _Acquires_lock_(_Curr_) 5038 _IRQL_saves_ 5039 WDFSPINLOCK SpinLock 5040 ); 5041 5042 _IRQL_requires_max_(DISPATCH_LEVEL) 5043 _IRQL_requires_min_(DISPATCH_LEVEL) 5044 WDFAPI 5045 VOID 5046 VFWDFEXPORT(WdfSpinLockRelease)( 5047 _In_ 5048 PWDF_DRIVER_GLOBALS DriverGlobals, 5049 _In_ 5050 _Requires_lock_held_(_Curr_) 5051 _Releases_lock_(_Curr_) 5052 _IRQL_restores_ 5053 WDFSPINLOCK SpinLock 5054 ); 5055 5056 _Must_inspect_result_ 5057 _IRQL_requires_max_(DISPATCH_LEVEL) 5058 WDFAPI 5059 NTSTATUS 5060 VFWDFEXPORT(WdfTimerCreate)( 5061 _In_ 5062 PWDF_DRIVER_GLOBALS DriverGlobals, 5063 _In_ 5064 PWDF_TIMER_CONFIG Config, 5065 _In_ 5066 PWDF_OBJECT_ATTRIBUTES Attributes, 5067 _Out_ 5068 WDFTIMER* Timer 5069 ); 5070 5071 _IRQL_requires_max_(DISPATCH_LEVEL) 5072 WDFAPI 5073 BOOLEAN 5074 VFWDFEXPORT(WdfTimerStart)( 5075 _In_ 5076 PWDF_DRIVER_GLOBALS DriverGlobals, 5077 _In_ 5078 WDFTIMER Timer, 5079 _In_ 5080 LONGLONG DueTime 5081 ); 5082 5083 _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL)) 5084 _When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL)) 5085 WDFAPI 5086 BOOLEAN 5087 VFWDFEXPORT(WdfTimerStop)( 5088 _In_ 5089 PWDF_DRIVER_GLOBALS DriverGlobals, 5090 _In_ 5091 WDFTIMER Timer, 5092 _In_ 5093 BOOLEAN Wait 5094 ); 5095 5096 _IRQL_requires_max_(DISPATCH_LEVEL) 5097 WDFAPI 5098 WDFOBJECT 5099 VFWDFEXPORT(WdfTimerGetParentObject)( 5100 _In_ 5101 PWDF_DRIVER_GLOBALS DriverGlobals, 5102 _In_ 5103 WDFTIMER Timer 5104 ); 5105 5106 _Must_inspect_result_ 5107 _IRQL_requires_max_(PASSIVE_LEVEL) 5108 WDFAPI 5109 NTSTATUS 5110 VFWDFEXPORT(WdfUsbTargetDeviceCreate)( 5111 _In_ 5112 PWDF_DRIVER_GLOBALS DriverGlobals, 5113 _In_ 5114 WDFDEVICE Device, 5115 _In_opt_ 5116 PWDF_OBJECT_ATTRIBUTES Attributes, 5117 _Out_ 5118 WDFUSBDEVICE* UsbDevice 5119 ); 5120 5121 _Must_inspect_result_ 5122 _IRQL_requires_max_(PASSIVE_LEVEL) 5123 WDFAPI 5124 NTSTATUS 5125 VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)( 5126 _In_ 5127 PWDF_DRIVER_GLOBALS DriverGlobals, 5128 _In_ 5129 WDFDEVICE Device, 5130 _In_ 5131 PWDF_USB_DEVICE_CREATE_CONFIG Config, 5132 _In_opt_ 5133 PWDF_OBJECT_ATTRIBUTES Attributes, 5134 _Out_ 5135 WDFUSBDEVICE* UsbDevice 5136 ); 5137 5138 _Must_inspect_result_ 5139 _IRQL_requires_max_(DISPATCH_LEVEL) 5140 WDFAPI 5141 NTSTATUS 5142 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)( 5143 _In_ 5144 PWDF_DRIVER_GLOBALS DriverGlobals, 5145 _In_ 5146 WDFUSBDEVICE UsbDevice, 5147 _Out_ 5148 PWDF_USB_DEVICE_INFORMATION Information 5149 ); 5150 5151 _IRQL_requires_max_(PASSIVE_LEVEL) 5152 WDFAPI 5153 VOID 5154 VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)( 5155 _In_ 5156 PWDF_DRIVER_GLOBALS DriverGlobals, 5157 _In_ 5158 WDFUSBDEVICE UsbDevice, 5159 _Out_ 5160 PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor 5161 ); 5162 5163 _Must_inspect_result_ 5164 _IRQL_requires_max_(PASSIVE_LEVEL) 5165 WDFAPI 5166 NTSTATUS 5167 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)( 5168 _In_ 5169 PWDF_DRIVER_GLOBALS DriverGlobals, 5170 _In_ 5171 WDFUSBDEVICE UsbDevice, 5172 _Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength) 5173 PVOID ConfigDescriptor, 5174 _Inout_ 5175 PUSHORT ConfigDescriptorLength 5176 ); 5177 5178 _Must_inspect_result_ 5179 _IRQL_requires_max_(PASSIVE_LEVEL) 5180 WDFAPI 5181 NTSTATUS 5182 VFWDFEXPORT(WdfUsbTargetDeviceQueryString)( 5183 _In_ 5184 PWDF_DRIVER_GLOBALS DriverGlobals, 5185 _In_ 5186 WDFUSBDEVICE UsbDevice, 5187 _In_opt_ 5188 WDFREQUEST Request, 5189 _In_opt_ 5190 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5191 _Out_writes_opt_(*NumCharacters) 5192 PUSHORT String, 5193 _Inout_ 5194 PUSHORT NumCharacters, 5195 _In_ 5196 UCHAR StringIndex, 5197 _In_opt_ 5198 USHORT LangID 5199 ); 5200 5201 _Must_inspect_result_ 5202 _IRQL_requires_max_(PASSIVE_LEVEL) 5203 WDFAPI 5204 NTSTATUS 5205 VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)( 5206 _In_ 5207 PWDF_DRIVER_GLOBALS DriverGlobals, 5208 _In_ 5209 WDFUSBDEVICE UsbDevice, 5210 _In_opt_ 5211 PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes, 5212 _Out_ 5213 WDFMEMORY* StringMemory, 5214 _Out_opt_ 5215 PUSHORT NumCharacters, 5216 _In_ 5217 UCHAR StringIndex, 5218 _In_opt_ 5219 USHORT LangID 5220 ); 5221 5222 _Must_inspect_result_ 5223 _IRQL_requires_max_(DISPATCH_LEVEL) 5224 WDFAPI 5225 NTSTATUS 5226 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)( 5227 _In_ 5228 PWDF_DRIVER_GLOBALS DriverGlobals, 5229 _In_ 5230 WDFUSBDEVICE UsbDevice, 5231 _In_ 5232 WDFREQUEST Request, 5233 _In_ 5234 WDFMEMORY Memory, 5235 _In_opt_ 5236 PWDFMEMORY_OFFSET Offset, 5237 _In_ 5238 UCHAR StringIndex, 5239 _In_opt_ 5240 USHORT LangID 5241 ); 5242 5243 _IRQL_requires_max_(DISPATCH_LEVEL) 5244 WDFAPI 5245 UCHAR 5246 VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)( 5247 _In_ 5248 PWDF_DRIVER_GLOBALS DriverGlobals, 5249 _In_ 5250 WDFUSBDEVICE UsbDevice 5251 ); 5252 5253 _Must_inspect_result_ 5254 _IRQL_requires_max_(PASSIVE_LEVEL) 5255 WDFAPI 5256 NTSTATUS 5257 VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig)( 5258 _In_ 5259 PWDF_DRIVER_GLOBALS DriverGlobals, 5260 _In_ 5261 WDFUSBDEVICE UsbDevice, 5262 _In_opt_ 5263 PWDF_OBJECT_ATTRIBUTES PipeAttributes, 5264 _Inout_ 5265 PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params 5266 ); 5267 5268 _IRQL_requires_max_(DISPATCH_LEVEL) 5269 WDFAPI 5270 USBD_CONFIGURATION_HANDLE 5271 VFWDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle)( 5272 _In_ 5273 PWDF_DRIVER_GLOBALS DriverGlobals, 5274 _In_ 5275 WDFUSBDEVICE UsbDevice 5276 ); 5277 5278 _Must_inspect_result_ 5279 _IRQL_requires_max_(DISPATCH_LEVEL) 5280 WDFAPI 5281 NTSTATUS 5282 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber)( 5283 _In_ 5284 PWDF_DRIVER_GLOBALS DriverGlobals, 5285 _In_ 5286 WDFUSBDEVICE UsbDevice, 5287 _Out_ 5288 PULONG CurrentFrameNumber 5289 ); 5290 5291 _Must_inspect_result_ 5292 _IRQL_requires_max_(PASSIVE_LEVEL) 5293 WDFAPI 5294 NTSTATUS 5295 VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)( 5296 _In_ 5297 PWDF_DRIVER_GLOBALS DriverGlobals, 5298 _In_ 5299 WDFUSBDEVICE UsbDevice, 5300 _In_opt_ 5301 WDFREQUEST Request, 5302 _In_opt_ 5303 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5304 _In_ 5305 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 5306 _In_opt_ 5307 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 5308 _Out_opt_ 5309 PULONG BytesTransferred 5310 ); 5311 5312 _Must_inspect_result_ 5313 _IRQL_requires_max_(DISPATCH_LEVEL) 5314 WDFAPI 5315 NTSTATUS 5316 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)( 5317 _In_ 5318 PWDF_DRIVER_GLOBALS DriverGlobals, 5319 _In_ 5320 WDFUSBDEVICE UsbDevice, 5321 _In_ 5322 WDFREQUEST Request, 5323 _In_ 5324 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 5325 _In_opt_ 5326 WDFMEMORY TransferMemory, 5327 _In_opt_ 5328 PWDFMEMORY_OFFSET TransferOffset 5329 ); 5330 5331 _Must_inspect_result_ 5332 _IRQL_requires_max_(PASSIVE_LEVEL) 5333 WDFAPI 5334 NTSTATUS 5335 VFWDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous)( 5336 _In_ 5337 PWDF_DRIVER_GLOBALS DriverGlobals, 5338 _In_ 5339 WDFUSBDEVICE UsbDevice 5340 ); 5341 5342 _Must_inspect_result_ 5343 _IRQL_requires_max_(PASSIVE_LEVEL) 5344 WDFAPI 5345 NTSTATUS 5346 VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)( 5347 _In_ 5348 PWDF_DRIVER_GLOBALS DriverGlobals, 5349 _In_ 5350 WDFUSBDEVICE UsbDevice 5351 ); 5352 5353 _Must_inspect_result_ 5354 _IRQL_requires_max_(PASSIVE_LEVEL) 5355 WDFAPI 5356 NTSTATUS 5357 VFWDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously)( 5358 _In_ 5359 PWDF_DRIVER_GLOBALS DriverGlobals, 5360 _In_ 5361 WDFUSBDEVICE UsbDevice 5362 ); 5363 5364 _Must_inspect_result_ 5365 _IRQL_requires_max_(DISPATCH_LEVEL) 5366 WDFAPI 5367 NTSTATUS 5368 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort)( 5369 _In_ 5370 PWDF_DRIVER_GLOBALS DriverGlobals, 5371 _In_ 5372 WDFUSBDEVICE UsbDevice, 5373 _In_ 5374 WDFREQUEST Request 5375 ); 5376 5377 _Must_inspect_result_ 5378 _IRQL_requires_max_(PASSIVE_LEVEL) 5379 WDFAPI 5380 NTSTATUS 5381 VFWDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously)( 5382 _In_ 5383 PWDF_DRIVER_GLOBALS DriverGlobals, 5384 _In_ 5385 WDFUSBDEVICE UsbDevice, 5386 _In_opt_ 5387 WDFREQUEST Request, 5388 _In_opt_ 5389 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5390 _In_reads_(_Inexpressible_("union bug in SAL")) 5391 PURB Urb 5392 ); 5393 5394 _Must_inspect_result_ 5395 _IRQL_requires_max_(DISPATCH_LEVEL) 5396 WDFAPI 5397 NTSTATUS 5398 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb)( 5399 _In_ 5400 PWDF_DRIVER_GLOBALS DriverGlobals, 5401 _In_ 5402 WDFUSBDEVICE UsbDevice, 5403 _In_ 5404 WDFREQUEST Request, 5405 _In_ 5406 WDFMEMORY UrbMemory, 5407 _In_opt_ 5408 PWDFMEMORY_OFFSET UrbMemoryOffset 5409 ); 5410 5411 _Must_inspect_result_ 5412 _IRQL_requires_max_(PASSIVE_LEVEL) 5413 WDFAPI 5414 NTSTATUS 5415 VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)( 5416 _In_ 5417 PWDF_DRIVER_GLOBALS DriverGlobals, 5418 _In_ 5419 WDFUSBDEVICE UsbDevice, 5420 _In_ 5421 CONST GUID* CapabilityType, 5422 _In_ 5423 ULONG CapabilityBufferLength, 5424 _When_(CapabilityBufferLength == 0, _Out_opt_) 5425 _When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength)) 5426 _When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength)) 5427 PVOID CapabilityBuffer, 5428 _Out_opt_ 5429 _When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength)) 5430 PULONG ResultLength 5431 ); 5432 5433 _Must_inspect_result_ 5434 _IRQL_requires_max_(DISPATCH_LEVEL) 5435 WDFAPI 5436 NTSTATUS 5437 VFWDFEXPORT(WdfUsbTargetDeviceCreateUrb)( 5438 _In_ 5439 PWDF_DRIVER_GLOBALS DriverGlobals, 5440 _In_ 5441 WDFUSBDEVICE UsbDevice, 5442 _In_opt_ 5443 PWDF_OBJECT_ATTRIBUTES Attributes, 5444 _Out_ 5445 WDFMEMORY* UrbMemory, 5446 _Outptr_opt_result_bytebuffer_(sizeof(URB)) 5447 PURB* Urb 5448 ); 5449 5450 _Must_inspect_result_ 5451 _IRQL_requires_max_(DISPATCH_LEVEL) 5452 WDFAPI 5453 NTSTATUS 5454 VFWDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb)( 5455 _In_ 5456 PWDF_DRIVER_GLOBALS DriverGlobals, 5457 _In_ 5458 WDFUSBDEVICE UsbDevice, 5459 _In_opt_ 5460 PWDF_OBJECT_ATTRIBUTES Attributes, 5461 _In_ 5462 ULONG NumberOfIsochPackets, 5463 _Out_ 5464 WDFMEMORY* UrbMemory, 5465 _Outptr_opt_result_bytebuffer_(GET_ISO_URB_SIZE(NumberOfIsochPackets)) 5466 PURB* Urb 5467 ); 5468 5469 _IRQL_requires_max_(DISPATCH_LEVEL) 5470 WDFAPI 5471 VOID 5472 VFWDFEXPORT(WdfUsbTargetPipeGetInformation)( 5473 _In_ 5474 PWDF_DRIVER_GLOBALS DriverGlobals, 5475 _In_ 5476 WDFUSBPIPE Pipe, 5477 _Out_ 5478 PWDF_USB_PIPE_INFORMATION PipeInformation 5479 ); 5480 5481 _IRQL_requires_max_(DISPATCH_LEVEL) 5482 WDFAPI 5483 BOOLEAN 5484 VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint)( 5485 _In_ 5486 PWDF_DRIVER_GLOBALS DriverGlobals, 5487 _In_ 5488 WDFUSBPIPE Pipe 5489 ); 5490 5491 _IRQL_requires_max_(DISPATCH_LEVEL) 5492 WDFAPI 5493 BOOLEAN 5494 VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)( 5495 _In_ 5496 PWDF_DRIVER_GLOBALS DriverGlobals, 5497 _In_ 5498 WDFUSBPIPE Pipe 5499 ); 5500 5501 _IRQL_requires_max_(DISPATCH_LEVEL) 5502 WDFAPI 5503 WDF_USB_PIPE_TYPE 5504 VFWDFEXPORT(WdfUsbTargetPipeGetType)( 5505 _In_ 5506 PWDF_DRIVER_GLOBALS DriverGlobals, 5507 _In_ 5508 WDFUSBPIPE Pipe 5509 ); 5510 5511 _IRQL_requires_max_(DISPATCH_LEVEL) 5512 WDFAPI 5513 VOID 5514 VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)( 5515 _In_ 5516 PWDF_DRIVER_GLOBALS DriverGlobals, 5517 _In_ 5518 WDFUSBPIPE Pipe 5519 ); 5520 5521 _Must_inspect_result_ 5522 _IRQL_requires_max_(PASSIVE_LEVEL) 5523 WDFAPI 5524 NTSTATUS 5525 VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously)( 5526 _In_ 5527 PWDF_DRIVER_GLOBALS DriverGlobals, 5528 _In_ 5529 WDFUSBPIPE Pipe, 5530 _In_opt_ 5531 WDFREQUEST Request, 5532 _In_opt_ 5533 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5534 _In_opt_ 5535 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 5536 _Out_opt_ 5537 PULONG BytesWritten 5538 ); 5539 5540 _Must_inspect_result_ 5541 _IRQL_requires_max_(DISPATCH_LEVEL) 5542 WDFAPI 5543 NTSTATUS 5544 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)( 5545 _In_ 5546 PWDF_DRIVER_GLOBALS DriverGlobals, 5547 _In_ 5548 WDFUSBPIPE Pipe, 5549 _In_ 5550 WDFREQUEST Request, 5551 _In_opt_ 5552 WDFMEMORY WriteMemory, 5553 _In_opt_ 5554 PWDFMEMORY_OFFSET WriteOffset 5555 ); 5556 5557 _Must_inspect_result_ 5558 _IRQL_requires_max_(PASSIVE_LEVEL) 5559 WDFAPI 5560 NTSTATUS 5561 VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously)( 5562 _In_ 5563 PWDF_DRIVER_GLOBALS DriverGlobals, 5564 _In_ 5565 WDFUSBPIPE Pipe, 5566 _In_opt_ 5567 WDFREQUEST Request, 5568 _In_opt_ 5569 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5570 _In_opt_ 5571 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 5572 _Out_opt_ 5573 PULONG BytesRead 5574 ); 5575 5576 _Must_inspect_result_ 5577 _IRQL_requires_max_(DISPATCH_LEVEL) 5578 WDFAPI 5579 NTSTATUS 5580 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)( 5581 _In_ 5582 PWDF_DRIVER_GLOBALS DriverGlobals, 5583 _In_ 5584 WDFUSBPIPE Pipe, 5585 _In_ 5586 WDFREQUEST Request, 5587 _In_opt_ 5588 WDFMEMORY ReadMemory, 5589 _In_opt_ 5590 PWDFMEMORY_OFFSET ReadOffset 5591 ); 5592 5593 _Must_inspect_result_ 5594 _IRQL_requires_max_(DISPATCH_LEVEL) 5595 WDFAPI 5596 NTSTATUS 5597 VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)( 5598 _In_ 5599 PWDF_DRIVER_GLOBALS DriverGlobals, 5600 _In_ 5601 WDFUSBPIPE Pipe, 5602 _In_ 5603 PWDF_USB_CONTINUOUS_READER_CONFIG Config 5604 ); 5605 5606 _Must_inspect_result_ 5607 _IRQL_requires_max_(PASSIVE_LEVEL) 5608 WDFAPI 5609 NTSTATUS 5610 VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously)( 5611 _In_ 5612 PWDF_DRIVER_GLOBALS DriverGlobals, 5613 _In_ 5614 WDFUSBPIPE Pipe, 5615 _In_opt_ 5616 WDFREQUEST Request, 5617 _In_opt_ 5618 PWDF_REQUEST_SEND_OPTIONS RequestOptions 5619 ); 5620 5621 _Must_inspect_result_ 5622 _IRQL_requires_max_(DISPATCH_LEVEL) 5623 WDFAPI 5624 NTSTATUS 5625 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)( 5626 _In_ 5627 PWDF_DRIVER_GLOBALS DriverGlobals, 5628 _In_ 5629 WDFUSBPIPE Pipe, 5630 _In_ 5631 WDFREQUEST Request 5632 ); 5633 5634 _Must_inspect_result_ 5635 _IRQL_requires_max_(PASSIVE_LEVEL) 5636 WDFAPI 5637 NTSTATUS 5638 VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously)( 5639 _In_ 5640 PWDF_DRIVER_GLOBALS DriverGlobals, 5641 _In_ 5642 WDFUSBPIPE Pipe, 5643 _In_opt_ 5644 WDFREQUEST Request, 5645 _In_opt_ 5646 PWDF_REQUEST_SEND_OPTIONS RequestOptions 5647 ); 5648 5649 _Must_inspect_result_ 5650 _IRQL_requires_max_(DISPATCH_LEVEL) 5651 WDFAPI 5652 NTSTATUS 5653 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)( 5654 _In_ 5655 PWDF_DRIVER_GLOBALS DriverGlobals, 5656 _In_ 5657 WDFUSBPIPE Pipe, 5658 _In_ 5659 WDFREQUEST Request 5660 ); 5661 5662 _Must_inspect_result_ 5663 _IRQL_requires_max_(PASSIVE_LEVEL) 5664 WDFAPI 5665 NTSTATUS 5666 VFWDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously)( 5667 _In_ 5668 PWDF_DRIVER_GLOBALS DriverGlobals, 5669 _In_ 5670 WDFUSBPIPE Pipe, 5671 _In_opt_ 5672 WDFREQUEST Request, 5673 _In_opt_ 5674 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 5675 _In_reads_(_Inexpressible_("union bug in SAL")) 5676 PURB Urb 5677 ); 5678 5679 _Must_inspect_result_ 5680 _IRQL_requires_max_(DISPATCH_LEVEL) 5681 WDFAPI 5682 NTSTATUS 5683 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb)( 5684 _In_ 5685 PWDF_DRIVER_GLOBALS DriverGlobals, 5686 _In_ 5687 WDFUSBPIPE PIPE, 5688 _In_ 5689 WDFREQUEST Request, 5690 _In_ 5691 WDFMEMORY UrbMemory, 5692 _In_opt_ 5693 PWDFMEMORY_OFFSET UrbMemoryOffset 5694 ); 5695 5696 _IRQL_requires_max_(DISPATCH_LEVEL) 5697 WDFAPI 5698 BYTE 5699 VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)( 5700 _In_ 5701 PWDF_DRIVER_GLOBALS DriverGlobals, 5702 _In_ 5703 WDFUSBINTERFACE UsbInterface 5704 ); 5705 5706 _IRQL_requires_max_(DISPATCH_LEVEL) 5707 WDFAPI 5708 BYTE 5709 VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints)( 5710 _In_ 5711 PWDF_DRIVER_GLOBALS DriverGlobals, 5712 _In_ 5713 WDFUSBINTERFACE UsbInterface, 5714 _In_ 5715 UCHAR SettingIndex 5716 ); 5717 5718 _IRQL_requires_max_(DISPATCH_LEVEL) 5719 WDFAPI 5720 VOID 5721 VFWDFEXPORT(WdfUsbInterfaceGetDescriptor)( 5722 _In_ 5723 PWDF_DRIVER_GLOBALS DriverGlobals, 5724 _In_ 5725 WDFUSBINTERFACE UsbInterface, 5726 _In_ 5727 UCHAR SettingIndex, 5728 _Out_ 5729 PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor 5730 ); 5731 5732 _IRQL_requires_max_(DISPATCH_LEVEL) 5733 WDFAPI 5734 BYTE 5735 VFWDFEXPORT(WdfUsbInterfaceGetNumSettings)( 5736 _In_ 5737 PWDF_DRIVER_GLOBALS DriverGlobals, 5738 _In_ 5739 WDFUSBINTERFACE UsbInterface 5740 ); 5741 5742 _Must_inspect_result_ 5743 _IRQL_requires_max_(PASSIVE_LEVEL) 5744 WDFAPI 5745 NTSTATUS 5746 VFWDFEXPORT(WdfUsbInterfaceSelectSetting)( 5747 _In_ 5748 PWDF_DRIVER_GLOBALS DriverGlobals, 5749 _In_ 5750 WDFUSBINTERFACE UsbInterface, 5751 _In_opt_ 5752 PWDF_OBJECT_ATTRIBUTES PipesAttributes, 5753 _In_ 5754 PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params 5755 ); 5756 5757 _IRQL_requires_max_(DISPATCH_LEVEL) 5758 WDFAPI 5759 VOID 5760 VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation)( 5761 _In_ 5762 PWDF_DRIVER_GLOBALS DriverGlobals, 5763 _In_ 5764 WDFUSBINTERFACE UsbInterface, 5765 _In_ 5766 UCHAR SettingIndex, 5767 _In_ 5768 UCHAR EndpointIndex, 5769 _Out_ 5770 PWDF_USB_PIPE_INFORMATION EndpointInfo 5771 ); 5772 5773 _IRQL_requires_max_(DISPATCH_LEVEL) 5774 WDFAPI 5775 WDFUSBINTERFACE 5776 VFWDFEXPORT(WdfUsbTargetDeviceGetInterface)( 5777 _In_ 5778 PWDF_DRIVER_GLOBALS DriverGlobals, 5779 _In_ 5780 WDFUSBDEVICE UsbDevice, 5781 _In_ 5782 UCHAR InterfaceIndex 5783 ); 5784 5785 _IRQL_requires_max_(DISPATCH_LEVEL) 5786 WDFAPI 5787 BYTE 5788 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)( 5789 _In_ 5790 PWDF_DRIVER_GLOBALS DriverGlobals, 5791 _In_ 5792 WDFUSBINTERFACE Interface 5793 ); 5794 5795 _IRQL_requires_max_(DISPATCH_LEVEL) 5796 WDFAPI 5797 BYTE 5798 VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)( 5799 _In_ 5800 PWDF_DRIVER_GLOBALS DriverGlobals, 5801 _In_ 5802 WDFUSBINTERFACE UsbInterface 5803 ); 5804 5805 _IRQL_requires_max_(DISPATCH_LEVEL) 5806 WDFAPI 5807 WDFUSBPIPE 5808 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)( 5809 _In_ 5810 PWDF_DRIVER_GLOBALS DriverGlobals, 5811 _In_ 5812 WDFUSBINTERFACE UsbInterface, 5813 _In_ 5814 UCHAR PipeIndex, 5815 _Out_opt_ 5816 PWDF_USB_PIPE_INFORMATION PipeInfo 5817 ); 5818 5819 _IRQL_requires_max_(DISPATCH_LEVEL) 5820 WDFAPI 5821 USBD_PIPE_HANDLE 5822 VFWDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle)( 5823 _In_ 5824 PWDF_DRIVER_GLOBALS DriverGlobals, 5825 _In_ 5826 WDFUSBPIPE UsbPipe 5827 ); 5828 5829 WDFAPI 5830 VOID 5831 VFWDFEXPORT(WdfVerifierDbgBreakPoint)( 5832 _In_ 5833 PWDF_DRIVER_GLOBALS DriverGlobals 5834 ); 5835 5836 WDFAPI 5837 VOID 5838 VFWDFEXPORT(WdfVerifierKeBugCheck)( 5839 _In_ 5840 PWDF_DRIVER_GLOBALS DriverGlobals, 5841 _In_ 5842 ULONG BugCheckCode, 5843 _In_ 5844 ULONG_PTR BugCheckParameter1, 5845 _In_ 5846 ULONG_PTR BugCheckParameter2, 5847 _In_ 5848 ULONG_PTR BugCheckParameter3, 5849 _In_ 5850 ULONG_PTR BugCheckParameter4 5851 ); 5852 5853 WDFAPI 5854 PVOID 5855 VFWDFEXPORT(WdfGetTriageInfo)( 5856 _In_ 5857 PWDF_DRIVER_GLOBALS DriverGlobals 5858 ); 5859 5860 _Must_inspect_result_ 5861 _IRQL_requires_max_(DISPATCH_LEVEL) 5862 WDFAPI 5863 NTSTATUS 5864 VFWDFEXPORT(WdfWmiProviderCreate)( 5865 _In_ 5866 PWDF_DRIVER_GLOBALS DriverGlobals, 5867 _In_ 5868 WDFDEVICE Device, 5869 _In_ 5870 PWDF_WMI_PROVIDER_CONFIG WmiProviderConfig, 5871 _In_opt_ 5872 PWDF_OBJECT_ATTRIBUTES ProviderAttributes, 5873 _Out_ 5874 WDFWMIPROVIDER* WmiProvider 5875 ); 5876 5877 _IRQL_requires_max_(DISPATCH_LEVEL) 5878 WDFAPI 5879 WDFDEVICE 5880 VFWDFEXPORT(WdfWmiProviderGetDevice)( 5881 _In_ 5882 PWDF_DRIVER_GLOBALS DriverGlobals, 5883 _In_ 5884 WDFWMIPROVIDER WmiProvider 5885 ); 5886 5887 _IRQL_requires_max_(DISPATCH_LEVEL) 5888 WDFAPI 5889 BOOLEAN 5890 VFWDFEXPORT(WdfWmiProviderIsEnabled)( 5891 _In_ 5892 PWDF_DRIVER_GLOBALS DriverGlobals, 5893 _In_ 5894 WDFWMIPROVIDER WmiProvider, 5895 _In_ 5896 WDF_WMI_PROVIDER_CONTROL ProviderControl 5897 ); 5898 5899 _IRQL_requires_max_(DISPATCH_LEVEL) 5900 WDFAPI 5901 ULONGLONG 5902 VFWDFEXPORT(WdfWmiProviderGetTracingHandle)( 5903 _In_ 5904 PWDF_DRIVER_GLOBALS DriverGlobals, 5905 _In_ 5906 WDFWMIPROVIDER WmiProvider 5907 ); 5908 5909 _Must_inspect_result_ 5910 _IRQL_requires_max_(DISPATCH_LEVEL) 5911 WDFAPI 5912 NTSTATUS 5913 VFWDFEXPORT(WdfWmiInstanceCreate)( 5914 _In_ 5915 PWDF_DRIVER_GLOBALS DriverGlobals, 5916 _In_ 5917 WDFDEVICE Device, 5918 _In_ 5919 PWDF_WMI_INSTANCE_CONFIG InstanceConfig, 5920 _In_opt_ 5921 PWDF_OBJECT_ATTRIBUTES InstanceAttributes, 5922 _Out_opt_ 5923 WDFWMIINSTANCE* Instance 5924 ); 5925 5926 _Must_inspect_result_ 5927 _IRQL_requires_max_(PASSIVE_LEVEL) 5928 WDFAPI 5929 NTSTATUS 5930 VFWDFEXPORT(WdfWmiInstanceRegister)( 5931 _In_ 5932 PWDF_DRIVER_GLOBALS DriverGlobals, 5933 _In_ 5934 WDFWMIINSTANCE WmiInstance 5935 ); 5936 5937 _IRQL_requires_max_(PASSIVE_LEVEL) 5938 WDFAPI 5939 VOID 5940 VFWDFEXPORT(WdfWmiInstanceDeregister)( 5941 _In_ 5942 PWDF_DRIVER_GLOBALS DriverGlobals, 5943 _In_ 5944 WDFWMIINSTANCE WmiInstance 5945 ); 5946 5947 _IRQL_requires_max_(DISPATCH_LEVEL) 5948 WDFAPI 5949 WDFDEVICE 5950 VFWDFEXPORT(WdfWmiInstanceGetDevice)( 5951 _In_ 5952 PWDF_DRIVER_GLOBALS DriverGlobals, 5953 _In_ 5954 WDFWMIINSTANCE WmiInstance 5955 ); 5956 5957 _IRQL_requires_max_(DISPATCH_LEVEL) 5958 WDFAPI 5959 WDFWMIPROVIDER 5960 VFWDFEXPORT(WdfWmiInstanceGetProvider)( 5961 _In_ 5962 PWDF_DRIVER_GLOBALS DriverGlobals, 5963 _In_ 5964 WDFWMIINSTANCE WmiInstance 5965 ); 5966 5967 _Must_inspect_result_ 5968 _IRQL_requires_max_(APC_LEVEL) 5969 WDFAPI 5970 NTSTATUS 5971 VFWDFEXPORT(WdfWmiInstanceFireEvent)( 5972 _In_ 5973 PWDF_DRIVER_GLOBALS DriverGlobals, 5974 _In_ 5975 WDFWMIINSTANCE WmiInstance, 5976 _In_opt_ 5977 ULONG EventDataSize, 5978 _In_reads_bytes_opt_(EventDataSize) 5979 PVOID EventData 5980 ); 5981 5982 _Must_inspect_result_ 5983 _IRQL_requires_max_(DISPATCH_LEVEL) 5984 WDFAPI 5985 NTSTATUS 5986 VFWDFEXPORT(WdfWorkItemCreate)( 5987 _In_ 5988 PWDF_DRIVER_GLOBALS DriverGlobals, 5989 _In_ 5990 PWDF_WORKITEM_CONFIG Config, 5991 _In_ 5992 PWDF_OBJECT_ATTRIBUTES Attributes, 5993 _Out_ 5994 WDFWORKITEM* WorkItem 5995 ); 5996 5997 _IRQL_requires_max_(DISPATCH_LEVEL) 5998 WDFAPI 5999 VOID 6000 VFWDFEXPORT(WdfWorkItemEnqueue)( 6001 _In_ 6002 PWDF_DRIVER_GLOBALS DriverGlobals, 6003 _In_ 6004 WDFWORKITEM WorkItem 6005 ); 6006 6007 _IRQL_requires_max_(DISPATCH_LEVEL) 6008 WDFAPI 6009 WDFOBJECT 6010 VFWDFEXPORT(WdfWorkItemGetParentObject)( 6011 _In_ 6012 PWDF_DRIVER_GLOBALS DriverGlobals, 6013 _In_ 6014 WDFWORKITEM WorkItem 6015 ); 6016 6017 _IRQL_requires_max_(PASSIVE_LEVEL) 6018 WDFAPI 6019 VOID 6020 VFWDFEXPORT(WdfWorkItemFlush)( 6021 _In_ 6022 PWDF_DRIVER_GLOBALS DriverGlobals, 6023 _In_ 6024 WDFWORKITEM WorkItem 6025 ); 6026 6027 6028 #ifdef VF_FX_DYNAMICS_GENERATE_TABLE 6029 6030 WDFVERSION VfWdfVersion = { 6031 sizeof(WDFVERSION), 6032 sizeof(WDFFUNCTIONS)/sizeof(PVOID), 6033 { 6034 VFWDFEXPORT(WdfChildListCreate), 6035 VFWDFEXPORT(WdfChildListGetDevice), 6036 VFWDFEXPORT(WdfChildListRetrievePdo), 6037 VFWDFEXPORT(WdfChildListRetrieveAddressDescription), 6038 VFWDFEXPORT(WdfChildListBeginScan), 6039 VFWDFEXPORT(WdfChildListEndScan), 6040 VFWDFEXPORT(WdfChildListBeginIteration), 6041 VFWDFEXPORT(WdfChildListRetrieveNextDevice), 6042 VFWDFEXPORT(WdfChildListEndIteration), 6043 VFWDFEXPORT(WdfChildListAddOrUpdateChildDescriptionAsPresent), 6044 VFWDFEXPORT(WdfChildListUpdateChildDescriptionAsMissing), 6045 VFWDFEXPORT(WdfChildListUpdateAllChildDescriptionsAsPresent), 6046 VFWDFEXPORT(WdfChildListRequestChildEject), 6047 VFWDFEXPORT(WdfCollectionCreate), 6048 VFWDFEXPORT(WdfCollectionGetCount), 6049 VFWDFEXPORT(WdfCollectionAdd), 6050 VFWDFEXPORT(WdfCollectionRemove), 6051 VFWDFEXPORT(WdfCollectionRemoveItem), 6052 VFWDFEXPORT(WdfCollectionGetItem), 6053 VFWDFEXPORT(WdfCollectionGetFirstItem), 6054 VFWDFEXPORT(WdfCollectionGetLastItem), 6055 VFWDFEXPORT(WdfCommonBufferCreate), 6056 VFWDFEXPORT(WdfCommonBufferGetAlignedVirtualAddress), 6057 VFWDFEXPORT(WdfCommonBufferGetAlignedLogicalAddress), 6058 VFWDFEXPORT(WdfCommonBufferGetLength), 6059 VFWDFEXPORT(WdfControlDeviceInitAllocate), 6060 VFWDFEXPORT(WdfControlDeviceInitSetShutdownNotification), 6061 VFWDFEXPORT(WdfControlFinishInitializing), 6062 VFWDFEXPORT(WdfDeviceGetDeviceState), 6063 VFWDFEXPORT(WdfDeviceSetDeviceState), 6064 VFWDFEXPORT(WdfWdmDeviceGetWdfDeviceHandle), 6065 VFWDFEXPORT(WdfDeviceWdmGetDeviceObject), 6066 VFWDFEXPORT(WdfDeviceWdmGetAttachedDevice), 6067 VFWDFEXPORT(WdfDeviceWdmGetPhysicalDevice), 6068 VFWDFEXPORT(WdfDeviceWdmDispatchPreprocessedIrp), 6069 VFWDFEXPORT(WdfDeviceAddDependentUsageDeviceObject), 6070 VFWDFEXPORT(WdfDeviceAddRemovalRelationsPhysicalDevice), 6071 VFWDFEXPORT(WdfDeviceRemoveRemovalRelationsPhysicalDevice), 6072 VFWDFEXPORT(WdfDeviceClearRemovalRelationsDevices), 6073 VFWDFEXPORT(WdfDeviceGetDriver), 6074 VFWDFEXPORT(WdfDeviceRetrieveDeviceName), 6075 VFWDFEXPORT(WdfDeviceAssignMofResourceName), 6076 VFWDFEXPORT(WdfDeviceGetIoTarget), 6077 VFWDFEXPORT(WdfDeviceGetDevicePnpState), 6078 VFWDFEXPORT(WdfDeviceGetDevicePowerState), 6079 VFWDFEXPORT(WdfDeviceGetDevicePowerPolicyState), 6080 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings), 6081 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings), 6082 VFWDFEXPORT(WdfDeviceOpenRegistryKey), 6083 VFWDFEXPORT(WdfDeviceSetSpecialFileSupport), 6084 VFWDFEXPORT(WdfDeviceSetCharacteristics), 6085 VFWDFEXPORT(WdfDeviceGetCharacteristics), 6086 VFWDFEXPORT(WdfDeviceGetAlignmentRequirement), 6087 VFWDFEXPORT(WdfDeviceSetAlignmentRequirement), 6088 VFWDFEXPORT(WdfDeviceInitFree), 6089 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks), 6090 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks), 6091 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership), 6092 VFWDFEXPORT(WdfDeviceInitRegisterPnpStateChangeCallback), 6093 VFWDFEXPORT(WdfDeviceInitRegisterPowerStateChangeCallback), 6094 VFWDFEXPORT(WdfDeviceInitRegisterPowerPolicyStateChangeCallback), 6095 VFWDFEXPORT(WdfDeviceInitSetIoType), 6096 VFWDFEXPORT(WdfDeviceInitSetExclusive), 6097 VFWDFEXPORT(WdfDeviceInitSetPowerNotPageable), 6098 VFWDFEXPORT(WdfDeviceInitSetPowerPageable), 6099 VFWDFEXPORT(WdfDeviceInitSetPowerInrush), 6100 VFWDFEXPORT(WdfDeviceInitSetDeviceType), 6101 VFWDFEXPORT(WdfDeviceInitAssignName), 6102 VFWDFEXPORT(WdfDeviceInitAssignSDDLString), 6103 VFWDFEXPORT(WdfDeviceInitSetDeviceClass), 6104 VFWDFEXPORT(WdfDeviceInitSetCharacteristics), 6105 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig), 6106 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes), 6107 VFWDFEXPORT(WdfDeviceInitAssignWdmIrpPreprocessCallback), 6108 VFWDFEXPORT(WdfDeviceInitSetIoInCallerContextCallback), 6109 VFWDFEXPORT(WdfDeviceCreate), 6110 VFWDFEXPORT(WdfDeviceSetStaticStopRemove), 6111 VFWDFEXPORT(WdfDeviceCreateDeviceInterface), 6112 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState), 6113 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString), 6114 VFWDFEXPORT(WdfDeviceCreateSymbolicLink), 6115 VFWDFEXPORT(WdfDeviceQueryProperty), 6116 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty), 6117 VFWDFEXPORT(WdfDeviceSetPnpCapabilities), 6118 VFWDFEXPORT(WdfDeviceSetPowerCapabilities), 6119 VFWDFEXPORT(WdfDeviceSetBusInformationForChildren), 6120 VFWDFEXPORT(WdfDeviceIndicateWakeStatus), 6121 VFWDFEXPORT(WdfDeviceSetFailed), 6122 VFWDFEXPORT(WdfDeviceStopIdleNoTrack), 6123 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack), 6124 VFWDFEXPORT(WdfDeviceGetFileObject), 6125 VFWDFEXPORT(WdfDeviceEnqueueRequest), 6126 VFWDFEXPORT(WdfDeviceGetDefaultQueue), 6127 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching), 6128 VFWDFEXPORT(WdfDmaEnablerCreate), 6129 VFWDFEXPORT(WdfDmaEnablerGetMaximumLength), 6130 VFWDFEXPORT(WdfDmaEnablerGetMaximumScatterGatherElements), 6131 VFWDFEXPORT(WdfDmaEnablerSetMaximumScatterGatherElements), 6132 VFWDFEXPORT(WdfDmaTransactionCreate), 6133 VFWDFEXPORT(WdfDmaTransactionInitialize), 6134 VFWDFEXPORT(WdfDmaTransactionInitializeUsingRequest), 6135 VFWDFEXPORT(WdfDmaTransactionExecute), 6136 VFWDFEXPORT(WdfDmaTransactionRelease), 6137 VFWDFEXPORT(WdfDmaTransactionDmaCompleted), 6138 VFWDFEXPORT(WdfDmaTransactionDmaCompletedWithLength), 6139 VFWDFEXPORT(WdfDmaTransactionDmaCompletedFinal), 6140 VFWDFEXPORT(WdfDmaTransactionGetBytesTransferred), 6141 VFWDFEXPORT(WdfDmaTransactionSetMaximumLength), 6142 VFWDFEXPORT(WdfDmaTransactionGetRequest), 6143 VFWDFEXPORT(WdfDmaTransactionGetCurrentDmaTransferLength), 6144 VFWDFEXPORT(WdfDmaTransactionGetDevice), 6145 VFWDFEXPORT(WdfDpcCreate), 6146 VFWDFEXPORT(WdfDpcEnqueue), 6147 VFWDFEXPORT(WdfDpcCancel), 6148 VFWDFEXPORT(WdfDpcGetParentObject), 6149 VFWDFEXPORT(WdfDpcWdmGetDpc), 6150 VFWDFEXPORT(WdfDriverCreate), 6151 VFWDFEXPORT(WdfDriverGetRegistryPath), 6152 VFWDFEXPORT(WdfDriverWdmGetDriverObject), 6153 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey), 6154 VFWDFEXPORT(WdfWdmDriverGetWdfDriverHandle), 6155 VFWDFEXPORT(WdfDriverRegisterTraceInfo), 6156 VFWDFEXPORT(WdfDriverRetrieveVersionString), 6157 VFWDFEXPORT(WdfDriverIsVersionAvailable), 6158 VFWDFEXPORT(WdfFdoInitWdmGetPhysicalDevice), 6159 VFWDFEXPORT(WdfFdoInitOpenRegistryKey), 6160 VFWDFEXPORT(WdfFdoInitQueryProperty), 6161 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty), 6162 VFWDFEXPORT(WdfFdoInitSetEventCallbacks), 6163 VFWDFEXPORT(WdfFdoInitSetFilter), 6164 VFWDFEXPORT(WdfFdoInitSetDefaultChildListConfig), 6165 VFWDFEXPORT(WdfFdoQueryForInterface), 6166 VFWDFEXPORT(WdfFdoGetDefaultChildList), 6167 VFWDFEXPORT(WdfFdoAddStaticChild), 6168 VFWDFEXPORT(WdfFdoLockStaticChildListForIteration), 6169 VFWDFEXPORT(WdfFdoRetrieveNextStaticChild), 6170 VFWDFEXPORT(WdfFdoUnlockStaticChildListFromIteration), 6171 VFWDFEXPORT(WdfFileObjectGetFileName), 6172 VFWDFEXPORT(WdfFileObjectGetFlags), 6173 VFWDFEXPORT(WdfFileObjectGetDevice), 6174 VFWDFEXPORT(WdfFileObjectWdmGetFileObject), 6175 VFWDFEXPORT(WdfInterruptCreate), 6176 VFWDFEXPORT(WdfInterruptQueueDpcForIsr), 6177 VFWDFEXPORT(WdfInterruptSynchronize), 6178 VFWDFEXPORT(WdfInterruptAcquireLock), 6179 VFWDFEXPORT(WdfInterruptReleaseLock), 6180 VFWDFEXPORT(WdfInterruptEnable), 6181 VFWDFEXPORT(WdfInterruptDisable), 6182 VFWDFEXPORT(WdfInterruptWdmGetInterrupt), 6183 VFWDFEXPORT(WdfInterruptGetInfo), 6184 VFWDFEXPORT(WdfInterruptSetPolicy), 6185 VFWDFEXPORT(WdfInterruptGetDevice), 6186 VFWDFEXPORT(WdfIoQueueCreate), 6187 VFWDFEXPORT(WdfIoQueueGetState), 6188 VFWDFEXPORT(WdfIoQueueStart), 6189 VFWDFEXPORT(WdfIoQueueStop), 6190 VFWDFEXPORT(WdfIoQueueStopSynchronously), 6191 VFWDFEXPORT(WdfIoQueueGetDevice), 6192 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest), 6193 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject), 6194 VFWDFEXPORT(WdfIoQueueFindRequest), 6195 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest), 6196 VFWDFEXPORT(WdfIoQueueDrainSynchronously), 6197 VFWDFEXPORT(WdfIoQueueDrain), 6198 VFWDFEXPORT(WdfIoQueuePurgeSynchronously), 6199 VFWDFEXPORT(WdfIoQueuePurge), 6200 VFWDFEXPORT(WdfIoQueueReadyNotify), 6201 VFWDFEXPORT(WdfIoTargetCreate), 6202 VFWDFEXPORT(WdfIoTargetOpen), 6203 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove), 6204 VFWDFEXPORT(WdfIoTargetClose), 6205 VFWDFEXPORT(WdfIoTargetStart), 6206 VFWDFEXPORT(WdfIoTargetStop), 6207 VFWDFEXPORT(WdfIoTargetGetState), 6208 VFWDFEXPORT(WdfIoTargetGetDevice), 6209 VFWDFEXPORT(WdfIoTargetQueryTargetProperty), 6210 VFWDFEXPORT(WdfIoTargetAllocAndQueryTargetProperty), 6211 VFWDFEXPORT(WdfIoTargetQueryForInterface), 6212 VFWDFEXPORT(WdfIoTargetWdmGetTargetDeviceObject), 6213 VFWDFEXPORT(WdfIoTargetWdmGetTargetPhysicalDevice), 6214 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileObject), 6215 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle), 6216 VFWDFEXPORT(WdfIoTargetSendReadSynchronously), 6217 VFWDFEXPORT(WdfIoTargetFormatRequestForRead), 6218 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously), 6219 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite), 6220 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously), 6221 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl), 6222 VFWDFEXPORT(WdfIoTargetSendInternalIoctlSynchronously), 6223 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctl), 6224 VFWDFEXPORT(WdfIoTargetSendInternalIoctlOthersSynchronously), 6225 VFWDFEXPORT(WdfIoTargetFormatRequestForInternalIoctlOthers), 6226 VFWDFEXPORT(WdfMemoryCreate), 6227 VFWDFEXPORT(WdfMemoryCreatePreallocated), 6228 VFWDFEXPORT(WdfMemoryGetBuffer), 6229 VFWDFEXPORT(WdfMemoryAssignBuffer), 6230 VFWDFEXPORT(WdfMemoryCopyToBuffer), 6231 VFWDFEXPORT(WdfMemoryCopyFromBuffer), 6232 VFWDFEXPORT(WdfLookasideListCreate), 6233 VFWDFEXPORT(WdfMemoryCreateFromLookaside), 6234 VFWDFEXPORT(WdfDeviceMiniportCreate), 6235 VFWDFEXPORT(WdfDriverMiniportUnload), 6236 VFWDFEXPORT(WdfObjectGetTypedContextWorker), 6237 VFWDFEXPORT(WdfObjectAllocateContext), 6238 VFWDFEXPORT(WdfObjectContextGetObject), 6239 VFWDFEXPORT(WdfObjectReferenceActual), 6240 VFWDFEXPORT(WdfObjectDereferenceActual), 6241 VFWDFEXPORT(WdfObjectCreate), 6242 VFWDFEXPORT(WdfObjectDelete), 6243 VFWDFEXPORT(WdfObjectQuery), 6244 VFWDFEXPORT(WdfPdoInitAllocate), 6245 VFWDFEXPORT(WdfPdoInitSetEventCallbacks), 6246 VFWDFEXPORT(WdfPdoInitAssignDeviceID), 6247 VFWDFEXPORT(WdfPdoInitAssignInstanceID), 6248 VFWDFEXPORT(WdfPdoInitAddHardwareID), 6249 VFWDFEXPORT(WdfPdoInitAddCompatibleID), 6250 VFWDFEXPORT(WdfPdoInitAddDeviceText), 6251 VFWDFEXPORT(WdfPdoInitSetDefaultLocale), 6252 VFWDFEXPORT(WdfPdoInitAssignRawDevice), 6253 VFWDFEXPORT(WdfPdoMarkMissing), 6254 VFWDFEXPORT(WdfPdoRequestEject), 6255 VFWDFEXPORT(WdfPdoGetParent), 6256 VFWDFEXPORT(WdfPdoRetrieveIdentificationDescription), 6257 VFWDFEXPORT(WdfPdoRetrieveAddressDescription), 6258 VFWDFEXPORT(WdfPdoUpdateAddressDescription), 6259 VFWDFEXPORT(WdfPdoAddEjectionRelationsPhysicalDevice), 6260 VFWDFEXPORT(WdfPdoRemoveEjectionRelationsPhysicalDevice), 6261 VFWDFEXPORT(WdfPdoClearEjectionRelationsDevices), 6262 VFWDFEXPORT(WdfDeviceAddQueryInterface), 6263 VFWDFEXPORT(WdfRegistryOpenKey), 6264 VFWDFEXPORT(WdfRegistryCreateKey), 6265 VFWDFEXPORT(WdfRegistryClose), 6266 VFWDFEXPORT(WdfRegistryWdmGetHandle), 6267 VFWDFEXPORT(WdfRegistryRemoveKey), 6268 VFWDFEXPORT(WdfRegistryRemoveValue), 6269 VFWDFEXPORT(WdfRegistryQueryValue), 6270 VFWDFEXPORT(WdfRegistryQueryMemory), 6271 VFWDFEXPORT(WdfRegistryQueryMultiString), 6272 VFWDFEXPORT(WdfRegistryQueryUnicodeString), 6273 VFWDFEXPORT(WdfRegistryQueryString), 6274 VFWDFEXPORT(WdfRegistryQueryULong), 6275 VFWDFEXPORT(WdfRegistryAssignValue), 6276 VFWDFEXPORT(WdfRegistryAssignMemory), 6277 VFWDFEXPORT(WdfRegistryAssignMultiString), 6278 VFWDFEXPORT(WdfRegistryAssignUnicodeString), 6279 VFWDFEXPORT(WdfRegistryAssignString), 6280 VFWDFEXPORT(WdfRegistryAssignULong), 6281 VFWDFEXPORT(WdfRequestCreate), 6282 VFWDFEXPORT(WdfRequestCreateFromIrp), 6283 VFWDFEXPORT(WdfRequestReuse), 6284 VFWDFEXPORT(WdfRequestChangeTarget), 6285 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType), 6286 VFWDFEXPORT(WdfRequestWdmFormatUsingStackLocation), 6287 VFWDFEXPORT(WdfRequestSend), 6288 VFWDFEXPORT(WdfRequestGetStatus), 6289 VFWDFEXPORT(WdfRequestMarkCancelable), 6290 VFWDFEXPORT(WdfRequestUnmarkCancelable), 6291 VFWDFEXPORT(WdfRequestIsCanceled), 6292 VFWDFEXPORT(WdfRequestCancelSentRequest), 6293 VFWDFEXPORT(WdfRequestIsFrom32BitProcess), 6294 VFWDFEXPORT(WdfRequestSetCompletionRoutine), 6295 VFWDFEXPORT(WdfRequestGetCompletionParams), 6296 VFWDFEXPORT(WdfRequestAllocateTimer), 6297 VFWDFEXPORT(WdfRequestComplete), 6298 VFWDFEXPORT(WdfRequestCompleteWithPriorityBoost), 6299 VFWDFEXPORT(WdfRequestCompleteWithInformation), 6300 VFWDFEXPORT(WdfRequestGetParameters), 6301 VFWDFEXPORT(WdfRequestRetrieveInputMemory), 6302 VFWDFEXPORT(WdfRequestRetrieveOutputMemory), 6303 VFWDFEXPORT(WdfRequestRetrieveInputBuffer), 6304 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer), 6305 VFWDFEXPORT(WdfRequestRetrieveInputWdmMdl), 6306 VFWDFEXPORT(WdfRequestRetrieveOutputWdmMdl), 6307 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserInputBuffer), 6308 VFWDFEXPORT(WdfRequestRetrieveUnsafeUserOutputBuffer), 6309 VFWDFEXPORT(WdfRequestSetInformation), 6310 VFWDFEXPORT(WdfRequestGetInformation), 6311 VFWDFEXPORT(WdfRequestGetFileObject), 6312 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForRead), 6313 VFWDFEXPORT(WdfRequestProbeAndLockUserBufferForWrite), 6314 VFWDFEXPORT(WdfRequestGetRequestorMode), 6315 VFWDFEXPORT(WdfRequestForwardToIoQueue), 6316 VFWDFEXPORT(WdfRequestGetIoQueue), 6317 VFWDFEXPORT(WdfRequestRequeue), 6318 VFWDFEXPORT(WdfRequestStopAcknowledge), 6319 VFWDFEXPORT(WdfRequestWdmGetIrp), 6320 VFWDFEXPORT(WdfIoResourceRequirementsListSetSlotNumber), 6321 VFWDFEXPORT(WdfIoResourceRequirementsListSetInterfaceType), 6322 VFWDFEXPORT(WdfIoResourceRequirementsListAppendIoResList), 6323 VFWDFEXPORT(WdfIoResourceRequirementsListInsertIoResList), 6324 VFWDFEXPORT(WdfIoResourceRequirementsListGetCount), 6325 VFWDFEXPORT(WdfIoResourceRequirementsListGetIoResList), 6326 VFWDFEXPORT(WdfIoResourceRequirementsListRemove), 6327 VFWDFEXPORT(WdfIoResourceRequirementsListRemoveByIoResList), 6328 VFWDFEXPORT(WdfIoResourceListCreate), 6329 VFWDFEXPORT(WdfIoResourceListAppendDescriptor), 6330 VFWDFEXPORT(WdfIoResourceListInsertDescriptor), 6331 VFWDFEXPORT(WdfIoResourceListUpdateDescriptor), 6332 VFWDFEXPORT(WdfIoResourceListGetCount), 6333 VFWDFEXPORT(WdfIoResourceListGetDescriptor), 6334 VFWDFEXPORT(WdfIoResourceListRemove), 6335 VFWDFEXPORT(WdfIoResourceListRemoveByDescriptor), 6336 VFWDFEXPORT(WdfCmResourceListAppendDescriptor), 6337 VFWDFEXPORT(WdfCmResourceListInsertDescriptor), 6338 VFWDFEXPORT(WdfCmResourceListGetCount), 6339 VFWDFEXPORT(WdfCmResourceListGetDescriptor), 6340 VFWDFEXPORT(WdfCmResourceListRemove), 6341 VFWDFEXPORT(WdfCmResourceListRemoveByDescriptor), 6342 VFWDFEXPORT(WdfStringCreate), 6343 VFWDFEXPORT(WdfStringGetUnicodeString), 6344 VFWDFEXPORT(WdfObjectAcquireLock), 6345 VFWDFEXPORT(WdfObjectReleaseLock), 6346 VFWDFEXPORT(WdfWaitLockCreate), 6347 VFWDFEXPORT(WdfWaitLockAcquire), 6348 VFWDFEXPORT(WdfWaitLockRelease), 6349 VFWDFEXPORT(WdfSpinLockCreate), 6350 VFWDFEXPORT(WdfSpinLockAcquire), 6351 VFWDFEXPORT(WdfSpinLockRelease), 6352 VFWDFEXPORT(WdfTimerCreate), 6353 VFWDFEXPORT(WdfTimerStart), 6354 VFWDFEXPORT(WdfTimerStop), 6355 VFWDFEXPORT(WdfTimerGetParentObject), 6356 VFWDFEXPORT(WdfUsbTargetDeviceCreate), 6357 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation), 6358 VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor), 6359 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor), 6360 VFWDFEXPORT(WdfUsbTargetDeviceQueryString), 6361 VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString), 6362 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString), 6363 VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces), 6364 VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig), 6365 VFWDFEXPORT(WdfUsbTargetDeviceWdmGetConfigurationHandle), 6366 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveCurrentFrameNumber), 6367 VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously), 6368 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer), 6369 VFWDFEXPORT(WdfUsbTargetDeviceIsConnectedSynchronous), 6370 VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously), 6371 VFWDFEXPORT(WdfUsbTargetDeviceCyclePortSynchronously), 6372 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForCyclePort), 6373 VFWDFEXPORT(WdfUsbTargetDeviceSendUrbSynchronously), 6374 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForUrb), 6375 VFWDFEXPORT(WdfUsbTargetPipeGetInformation), 6376 VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint), 6377 VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint), 6378 VFWDFEXPORT(WdfUsbTargetPipeGetType), 6379 VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck), 6380 VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously), 6381 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite), 6382 VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously), 6383 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead), 6384 VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader), 6385 VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously), 6386 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort), 6387 VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously), 6388 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset), 6389 VFWDFEXPORT(WdfUsbTargetPipeSendUrbSynchronously), 6390 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForUrb), 6391 VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber), 6392 VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints), 6393 VFWDFEXPORT(WdfUsbInterfaceGetDescriptor), 6394 VFWDFEXPORT(WdfUsbInterfaceSelectSetting), 6395 VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation), 6396 VFWDFEXPORT(WdfUsbTargetDeviceGetInterface), 6397 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex), 6398 VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes), 6399 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe), 6400 VFWDFEXPORT(WdfUsbTargetPipeWdmGetPipeHandle), 6401 VFWDFEXPORT(WdfVerifierDbgBreakPoint), 6402 VFWDFEXPORT(WdfVerifierKeBugCheck), 6403 VFWDFEXPORT(WdfWmiProviderCreate), 6404 VFWDFEXPORT(WdfWmiProviderGetDevice), 6405 VFWDFEXPORT(WdfWmiProviderIsEnabled), 6406 VFWDFEXPORT(WdfWmiProviderGetTracingHandle), 6407 VFWDFEXPORT(WdfWmiInstanceCreate), 6408 VFWDFEXPORT(WdfWmiInstanceRegister), 6409 VFWDFEXPORT(WdfWmiInstanceDeregister), 6410 VFWDFEXPORT(WdfWmiInstanceGetDevice), 6411 VFWDFEXPORT(WdfWmiInstanceGetProvider), 6412 VFWDFEXPORT(WdfWmiInstanceFireEvent), 6413 VFWDFEXPORT(WdfWorkItemCreate), 6414 VFWDFEXPORT(WdfWorkItemEnqueue), 6415 VFWDFEXPORT(WdfWorkItemGetParentObject), 6416 VFWDFEXPORT(WdfWorkItemFlush), 6417 VFWDFEXPORT(WdfCommonBufferCreateWithConfig), 6418 VFWDFEXPORT(WdfDmaEnablerGetFragmentLength), 6419 VFWDFEXPORT(WdfDmaEnablerWdmGetDmaAdapter), 6420 VFWDFEXPORT(WdfUsbInterfaceGetNumSettings), 6421 VFWDFEXPORT(WdfDeviceRemoveDependentUsageDeviceObject), 6422 VFWDFEXPORT(WdfDeviceGetSystemPowerAction), 6423 VFWDFEXPORT(WdfInterruptSetExtendedPolicy), 6424 VFWDFEXPORT(WdfIoQueueAssignForwardProgressPolicy), 6425 VFWDFEXPORT(WdfPdoInitAssignContainerID), 6426 VFWDFEXPORT(WdfPdoInitAllowForwardingRequestToParent), 6427 VFWDFEXPORT(WdfRequestMarkCancelableEx), 6428 VFWDFEXPORT(WdfRequestIsReserved), 6429 VFWDFEXPORT(WdfRequestForwardToParentDeviceIoQueue), 6430 VFWDFEXPORT(WdfCxDeviceInitAllocate), 6431 VFWDFEXPORT(WdfCxDeviceInitAssignWdmIrpPreprocessCallback), 6432 VFWDFEXPORT(WdfCxDeviceInitSetIoInCallerContextCallback), 6433 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes), 6434 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig), 6435 VFWDFEXPORT(WdfDeviceWdmDispatchIrp), 6436 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue), 6437 VFWDFEXPORT(WdfDeviceInitSetRemoveLockOptions), 6438 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback), 6439 VFWDFEXPORT(WdfDmaEnablerConfigureSystemProfile), 6440 VFWDFEXPORT(WdfDmaTransactionInitializeUsingOffset), 6441 VFWDFEXPORT(WdfDmaTransactionGetTransferInfo), 6442 VFWDFEXPORT(WdfDmaTransactionSetChannelConfigurationCallback), 6443 VFWDFEXPORT(WdfDmaTransactionSetTransferCompleteCallback), 6444 VFWDFEXPORT(WdfDmaTransactionSetImmediateExecution), 6445 VFWDFEXPORT(WdfDmaTransactionAllocateResources), 6446 VFWDFEXPORT(WdfDmaTransactionSetDeviceAddressOffset), 6447 VFWDFEXPORT(WdfDmaTransactionFreeResources), 6448 VFWDFEXPORT(WdfDmaTransactionCancel), 6449 VFWDFEXPORT(WdfDmaTransactionWdmGetTransferContext), 6450 VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr), 6451 VFWDFEXPORT(WdfInterruptTryToAcquireLock), 6452 VFWDFEXPORT(WdfIoQueueStopAndPurge), 6453 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously), 6454 VFWDFEXPORT(WdfIoTargetPurge), 6455 VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters), 6456 VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability), 6457 VFWDFEXPORT(WdfUsbTargetDeviceCreateUrb), 6458 VFWDFEXPORT(WdfUsbTargetDeviceCreateIsochUrb), 6459 VFWDFEXPORT(WdfDeviceWdmAssignPowerFrameworkSettings), 6460 VFWDFEXPORT(WdfDmaTransactionStopSystemTransfer), 6461 VFWDFEXPORT(WdfCxVerifierKeBugCheck), 6462 VFWDFEXPORT(WdfInterruptReportActive), 6463 VFWDFEXPORT(WdfInterruptReportInactive), 6464 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure), 6465 VFWDFEXPORT(WdfGetTriageInfo), 6466 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx), 6467 VFWDFEXPORT(WdfDeviceQueryPropertyEx), 6468 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx), 6469 VFWDFEXPORT(WdfDeviceAssignProperty), 6470 VFWDFEXPORT(WdfFdoInitQueryPropertyEx), 6471 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx), 6472 VFWDFEXPORT(WdfDeviceStopIdleActual), 6473 VFWDFEXPORT(WdfDeviceResumeIdleActual), 6474 VFWDFEXPORT(WdfDeviceGetSelfIoTarget), 6475 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget), 6476 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue), 6477 VFWDFEXPORT(WdfDeviceOpenDevicemapKey), 6478 } 6479 }; 6480 6481 #endif // VF_FX_DYNAMICS_GENERATE_TABLE 6482 6483 #endif // _VFFXDYNAMICS_H_ 6484 6485