1 /*++ 2 3 Module Name: VfFxDynamics.h 4 5 Abstract: 6 Generated header for WDF API Verifier hooks 7 8 Environment: 9 user 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_(DISPATCH_LEVEL) 20 WDFAPI 21 NTSTATUS 22 VFWDFEXPORT(WdfCollectionCreate)( 23 _In_ 24 PWDF_DRIVER_GLOBALS DriverGlobals, 25 _In_opt_ 26 PWDF_OBJECT_ATTRIBUTES CollectionAttributes, 27 _Out_ 28 WDFCOLLECTION* Collection 29 ); 30 31 _IRQL_requires_max_(DISPATCH_LEVEL) 32 WDFAPI 33 ULONG 34 VFWDFEXPORT(WdfCollectionGetCount)( 35 _In_ 36 PWDF_DRIVER_GLOBALS DriverGlobals, 37 _In_ 38 WDFCOLLECTION Collection 39 ); 40 41 _Must_inspect_result_ 42 _IRQL_requires_max_(DISPATCH_LEVEL) 43 WDFAPI 44 NTSTATUS 45 VFWDFEXPORT(WdfCollectionAdd)( 46 _In_ 47 PWDF_DRIVER_GLOBALS DriverGlobals, 48 _In_ 49 WDFCOLLECTION Collection, 50 _In_ 51 WDFOBJECT Object 52 ); 53 54 _IRQL_requires_max_(DISPATCH_LEVEL) 55 WDFAPI 56 VOID 57 VFWDFEXPORT(WdfCollectionRemove)( 58 _In_ 59 PWDF_DRIVER_GLOBALS DriverGlobals, 60 _In_ 61 WDFCOLLECTION Collection, 62 _In_ 63 WDFOBJECT Item 64 ); 65 66 _IRQL_requires_max_(DISPATCH_LEVEL) 67 WDFAPI 68 VOID 69 VFWDFEXPORT(WdfCollectionRemoveItem)( 70 _In_ 71 PWDF_DRIVER_GLOBALS DriverGlobals, 72 _In_ 73 WDFCOLLECTION Collection, 74 _In_ 75 ULONG Index 76 ); 77 78 _IRQL_requires_max_(DISPATCH_LEVEL) 79 WDFAPI 80 WDFOBJECT 81 VFWDFEXPORT(WdfCollectionGetItem)( 82 _In_ 83 PWDF_DRIVER_GLOBALS DriverGlobals, 84 _In_ 85 WDFCOLLECTION Collection, 86 _In_ 87 ULONG Index 88 ); 89 90 _IRQL_requires_max_(DISPATCH_LEVEL) 91 WDFAPI 92 WDFOBJECT 93 VFWDFEXPORT(WdfCollectionGetFirstItem)( 94 _In_ 95 PWDF_DRIVER_GLOBALS DriverGlobals, 96 _In_ 97 WDFCOLLECTION Collection 98 ); 99 100 _IRQL_requires_max_(DISPATCH_LEVEL) 101 WDFAPI 102 WDFOBJECT 103 VFWDFEXPORT(WdfCollectionGetLastItem)( 104 _In_ 105 PWDF_DRIVER_GLOBALS DriverGlobals, 106 _In_ 107 WDFCOLLECTION Collection 108 ); 109 110 _Must_inspect_result_ 111 _IRQL_requires_max_(PASSIVE_LEVEL) 112 WDFAPI 113 PWDFCXDEVICE_INIT 114 VFWDFEXPORT(WdfCxDeviceInitAllocate)( 115 _In_ 116 PWDF_DRIVER_GLOBALS DriverGlobals, 117 _In_ 118 PWDFDEVICE_INIT DeviceInit 119 ); 120 121 _IRQL_requires_max_(DISPATCH_LEVEL) 122 WDFAPI 123 VOID 124 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes)( 125 _In_ 126 PWDF_DRIVER_GLOBALS DriverGlobals, 127 _In_ 128 PWDFCXDEVICE_INIT CxDeviceInit, 129 _In_ 130 PWDF_OBJECT_ATTRIBUTES RequestAttributes 131 ); 132 133 _IRQL_requires_max_(DISPATCH_LEVEL) 134 WDFAPI 135 VOID 136 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig)( 137 _In_ 138 PWDF_DRIVER_GLOBALS DriverGlobals, 139 _In_ 140 PWDFCXDEVICE_INIT CxDeviceInit, 141 _In_ 142 PWDFCX_FILEOBJECT_CONFIG CxFileObjectConfig, 143 _In_opt_ 144 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 145 ); 146 147 WDFAPI 148 VOID 149 VFWDFEXPORT(WdfCxVerifierKeBugCheck)( 150 _In_ 151 PWDF_DRIVER_GLOBALS DriverGlobals, 152 _In_opt_ 153 WDFOBJECT Object, 154 _In_ 155 ULONG BugCheckCode, 156 _In_ 157 ULONG_PTR BugCheckParameter1, 158 _In_ 159 ULONG_PTR BugCheckParameter2, 160 _In_ 161 ULONG_PTR BugCheckParameter3, 162 _In_ 163 ULONG_PTR BugCheckParameter4 164 ); 165 166 _IRQL_requires_max_(DISPATCH_LEVEL) 167 WDFAPI 168 VOID 169 VFWDFEXPORT(WdfDeviceGetDeviceState)( 170 _In_ 171 PWDF_DRIVER_GLOBALS DriverGlobals, 172 _In_ 173 WDFDEVICE Device, 174 _Out_ 175 PWDF_DEVICE_STATE DeviceState 176 ); 177 178 _IRQL_requires_max_(DISPATCH_LEVEL) 179 WDFAPI 180 VOID 181 VFWDFEXPORT(WdfDeviceSetDeviceState)( 182 _In_ 183 PWDF_DRIVER_GLOBALS DriverGlobals, 184 _In_ 185 WDFDEVICE Device, 186 _In_ 187 PWDF_DEVICE_STATE DeviceState 188 ); 189 190 _Must_inspect_result_ 191 _IRQL_requires_max_(DISPATCH_LEVEL) 192 WDFAPI 193 NTSTATUS 194 VFWDFEXPORT(WdfDeviceWdmDispatchIrp)( 195 _In_ 196 PWDF_DRIVER_GLOBALS DriverGlobals, 197 _In_ 198 WDFDEVICE Device, 199 _In_ 200 PIRP Irp, 201 _In_ 202 WDFCONTEXT DispatchContext 203 ); 204 205 _Must_inspect_result_ 206 _IRQL_requires_max_(DISPATCH_LEVEL) 207 WDFAPI 208 NTSTATUS 209 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue)( 210 _In_ 211 PWDF_DRIVER_GLOBALS DriverGlobals, 212 _In_ 213 WDFDEVICE Device, 214 _In_ 215 PIRP Irp, 216 _In_ 217 WDFQUEUE Queue, 218 _In_ 219 ULONG Flags 220 ); 221 222 _IRQL_requires_max_(DISPATCH_LEVEL) 223 WDFAPI 224 WDFDRIVER 225 VFWDFEXPORT(WdfDeviceGetDriver)( 226 _In_ 227 PWDF_DRIVER_GLOBALS DriverGlobals, 228 _In_ 229 WDFDEVICE Device 230 ); 231 232 _IRQL_requires_max_(DISPATCH_LEVEL) 233 WDFAPI 234 WDFIOTARGET 235 VFWDFEXPORT(WdfDeviceGetIoTarget)( 236 _In_ 237 PWDF_DRIVER_GLOBALS DriverGlobals, 238 _In_ 239 WDFDEVICE Device 240 ); 241 242 _Must_inspect_result_ 243 _IRQL_requires_max_(DISPATCH_LEVEL) 244 WDFAPI 245 NTSTATUS 246 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings)( 247 _In_ 248 PWDF_DRIVER_GLOBALS DriverGlobals, 249 _In_ 250 WDFDEVICE Device, 251 _In_ 252 PWDF_DEVICE_POWER_POLICY_IDLE_SETTINGS Settings 253 ); 254 255 _Must_inspect_result_ 256 _IRQL_requires_max_(DISPATCH_LEVEL) 257 WDFAPI 258 NTSTATUS 259 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings)( 260 _In_ 261 PWDF_DRIVER_GLOBALS DriverGlobals, 262 _In_ 263 WDFDEVICE Device, 264 _In_ 265 PWDF_DEVICE_POWER_POLICY_WAKE_SETTINGS Settings 266 ); 267 268 _Must_inspect_result_ 269 _IRQL_requires_max_(PASSIVE_LEVEL) 270 WDFAPI 271 NTSTATUS 272 VFWDFEXPORT(WdfDeviceOpenRegistryKey)( 273 _In_ 274 PWDF_DRIVER_GLOBALS DriverGlobals, 275 _In_ 276 WDFDEVICE Device, 277 _In_ 278 ULONG DeviceInstanceKeyType, 279 _In_ 280 ACCESS_MASK DesiredAccess, 281 _In_opt_ 282 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 283 _Out_ 284 WDFKEY* Key 285 ); 286 287 _Must_inspect_result_ 288 _IRQL_requires_max_(PASSIVE_LEVEL) 289 WDFAPI 290 NTSTATUS 291 VFWDFEXPORT(WdfDeviceOpenDevicemapKey)( 292 _In_ 293 PWDF_DRIVER_GLOBALS DriverGlobals, 294 _In_ 295 WDFDEVICE Device, 296 _In_ 297 PCUNICODE_STRING KeyName, 298 _In_ 299 ACCESS_MASK DesiredAccess, 300 _In_opt_ 301 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 302 _Out_ 303 WDFKEY* Key 304 ); 305 306 _IRQL_requires_max_(DISPATCH_LEVEL) 307 WDFAPI 308 VOID 309 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks)( 310 _In_ 311 PWDF_DRIVER_GLOBALS DriverGlobals, 312 _In_ 313 PWDFDEVICE_INIT DeviceInit, 314 _In_ 315 PWDF_PNPPOWER_EVENT_CALLBACKS PnpPowerEventCallbacks 316 ); 317 318 _IRQL_requires_max_(DISPATCH_LEVEL) 319 WDFAPI 320 VOID 321 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks)( 322 _In_ 323 PWDF_DRIVER_GLOBALS DriverGlobals, 324 _In_ 325 PWDFDEVICE_INIT DeviceInit, 326 _In_ 327 PWDF_POWER_POLICY_EVENT_CALLBACKS PowerPolicyEventCallbacks 328 ); 329 330 _IRQL_requires_max_(DISPATCH_LEVEL) 331 WDFAPI 332 VOID 333 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership)( 334 _In_ 335 PWDF_DRIVER_GLOBALS DriverGlobals, 336 _In_ 337 PWDFDEVICE_INIT DeviceInit, 338 _In_ 339 BOOLEAN IsPowerPolicyOwner 340 ); 341 342 _IRQL_requires_max_(DISPATCH_LEVEL) 343 WDFAPI 344 VOID 345 VFWDFEXPORT(WdfDeviceInitSetIoType)( 346 _In_ 347 PWDF_DRIVER_GLOBALS DriverGlobals, 348 _In_ 349 PWDFDEVICE_INIT DeviceInit, 350 _In_ 351 WDF_DEVICE_IO_TYPE IoType 352 ); 353 354 _IRQL_requires_max_(DISPATCH_LEVEL) 355 WDFAPI 356 VOID 357 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig)( 358 _In_ 359 PWDF_DRIVER_GLOBALS DriverGlobals, 360 _In_ 361 PWDFDEVICE_INIT DeviceInit, 362 _In_ 363 PWDF_FILEOBJECT_CONFIG FileObjectConfig, 364 _In_opt_ 365 PWDF_OBJECT_ATTRIBUTES FileObjectAttributes 366 ); 367 368 _IRQL_requires_max_(DISPATCH_LEVEL) 369 WDFAPI 370 VOID 371 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes)( 372 _In_ 373 PWDF_DRIVER_GLOBALS DriverGlobals, 374 _In_ 375 PWDFDEVICE_INIT DeviceInit, 376 _In_ 377 PWDF_OBJECT_ATTRIBUTES RequestAttributes 378 ); 379 380 _Must_inspect_result_ 381 _IRQL_requires_max_(PASSIVE_LEVEL) 382 WDFAPI 383 NTSTATUS 384 VFWDFEXPORT(WdfDeviceCreate)( 385 _In_ 386 PWDF_DRIVER_GLOBALS DriverGlobals, 387 _Inout_ 388 PWDFDEVICE_INIT* DeviceInit, 389 _In_opt_ 390 PWDF_OBJECT_ATTRIBUTES DeviceAttributes, 391 _Out_ 392 WDFDEVICE* Device 393 ); 394 395 _IRQL_requires_max_(DISPATCH_LEVEL) 396 WDFAPI 397 VOID 398 VFWDFEXPORT(WdfDeviceSetStaticStopRemove)( 399 _In_ 400 PWDF_DRIVER_GLOBALS DriverGlobals, 401 _In_ 402 WDFDEVICE Device, 403 _In_ 404 BOOLEAN Stoppable 405 ); 406 407 _Must_inspect_result_ 408 _IRQL_requires_max_(PASSIVE_LEVEL) 409 WDFAPI 410 NTSTATUS 411 VFWDFEXPORT(WdfDeviceCreateDeviceInterface)( 412 _In_ 413 PWDF_DRIVER_GLOBALS DriverGlobals, 414 _In_ 415 WDFDEVICE Device, 416 _In_ 417 CONST GUID* InterfaceClassGUID, 418 _In_opt_ 419 PCUNICODE_STRING ReferenceString 420 ); 421 422 _IRQL_requires_max_(PASSIVE_LEVEL) 423 WDFAPI 424 VOID 425 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState)( 426 _In_ 427 PWDF_DRIVER_GLOBALS DriverGlobals, 428 _In_ 429 WDFDEVICE Device, 430 _In_ 431 CONST GUID* InterfaceClassGUID, 432 _In_opt_ 433 PCUNICODE_STRING ReferenceString, 434 _In_ 435 BOOLEAN IsInterfaceEnabled 436 ); 437 438 _Must_inspect_result_ 439 _IRQL_requires_max_(PASSIVE_LEVEL) 440 WDFAPI 441 NTSTATUS 442 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString)( 443 _In_ 444 PWDF_DRIVER_GLOBALS DriverGlobals, 445 _In_ 446 WDFDEVICE Device, 447 _In_ 448 CONST GUID* InterfaceClassGUID, 449 _In_opt_ 450 PCUNICODE_STRING ReferenceString, 451 _In_ 452 WDFSTRING String 453 ); 454 455 _Must_inspect_result_ 456 _IRQL_requires_max_(PASSIVE_LEVEL) 457 WDFAPI 458 NTSTATUS 459 VFWDFEXPORT(WdfDeviceCreateSymbolicLink)( 460 _In_ 461 PWDF_DRIVER_GLOBALS DriverGlobals, 462 _In_ 463 WDFDEVICE Device, 464 _In_ 465 PCUNICODE_STRING SymbolicLinkName 466 ); 467 468 _Must_inspect_result_ 469 _IRQL_requires_max_(PASSIVE_LEVEL) 470 WDFAPI 471 NTSTATUS 472 VFWDFEXPORT(WdfDeviceQueryProperty)( 473 _In_ 474 PWDF_DRIVER_GLOBALS DriverGlobals, 475 _In_ 476 WDFDEVICE Device, 477 _In_ 478 DEVICE_REGISTRY_PROPERTY DeviceProperty, 479 _In_ 480 ULONG BufferLength, 481 _Out_writes_bytes_all_(BufferLength) 482 PVOID PropertyBuffer, 483 _Out_ 484 PULONG ResultLength 485 ); 486 487 _Must_inspect_result_ 488 _IRQL_requires_max_(PASSIVE_LEVEL) 489 WDFAPI 490 NTSTATUS 491 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty)( 492 _In_ 493 PWDF_DRIVER_GLOBALS DriverGlobals, 494 _In_ 495 WDFDEVICE Device, 496 _In_ 497 DEVICE_REGISTRY_PROPERTY DeviceProperty, 498 _In_ 499 _Strict_type_match_ 500 POOL_TYPE PoolType, 501 _In_opt_ 502 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 503 _Out_ 504 WDFMEMORY* PropertyMemory 505 ); 506 507 _IRQL_requires_max_(DISPATCH_LEVEL) 508 WDFAPI 509 VOID 510 VFWDFEXPORT(WdfDeviceSetPnpCapabilities)( 511 _In_ 512 PWDF_DRIVER_GLOBALS DriverGlobals, 513 _In_ 514 WDFDEVICE Device, 515 _In_ 516 PWDF_DEVICE_PNP_CAPABILITIES PnpCapabilities 517 ); 518 519 _IRQL_requires_max_(DISPATCH_LEVEL) 520 WDFAPI 521 VOID 522 VFWDFEXPORT(WdfDeviceSetPowerCapabilities)( 523 _In_ 524 PWDF_DRIVER_GLOBALS DriverGlobals, 525 _In_ 526 WDFDEVICE Device, 527 _In_ 528 PWDF_DEVICE_POWER_CAPABILITIES PowerCapabilities 529 ); 530 531 _IRQL_requires_max_(DISPATCH_LEVEL) 532 WDFAPI 533 VOID 534 VFWDFEXPORT(WdfDeviceSetFailed)( 535 _In_ 536 PWDF_DRIVER_GLOBALS DriverGlobals, 537 _In_ 538 WDFDEVICE Device, 539 _In_ 540 WDF_DEVICE_FAILED_ACTION FailedAction 541 ); 542 543 _Must_inspect_result_ 544 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 545 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 546 WDFAPI 547 NTSTATUS 548 VFWDFEXPORT(WdfDeviceStopIdleNoTrack)( 549 _In_ 550 PWDF_DRIVER_GLOBALS DriverGlobals, 551 _In_ 552 WDFDEVICE Device, 553 _In_ 554 BOOLEAN WaitForD0 555 ); 556 557 _IRQL_requires_max_(DISPATCH_LEVEL) 558 WDFAPI 559 VOID 560 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack)( 561 _In_ 562 PWDF_DRIVER_GLOBALS DriverGlobals, 563 _In_ 564 WDFDEVICE Device 565 ); 566 567 _Must_inspect_result_ 568 _When_(WaitForD0 == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 569 _When_(WaitForD0 != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 570 WDFAPI 571 NTSTATUS 572 VFWDFEXPORT(WdfDeviceStopIdleActual)( 573 _In_ 574 PWDF_DRIVER_GLOBALS DriverGlobals, 575 _In_ 576 WDFDEVICE Device, 577 _In_ 578 BOOLEAN WaitForD0, 579 _In_opt_ 580 PVOID Tag, 581 _In_ 582 LONG Line, 583 _In_z_ 584 PCHAR File 585 ); 586 587 _IRQL_requires_max_(DISPATCH_LEVEL) 588 WDFAPI 589 VOID 590 VFWDFEXPORT(WdfDeviceResumeIdleActual)( 591 _In_ 592 PWDF_DRIVER_GLOBALS DriverGlobals, 593 _In_ 594 WDFDEVICE Device, 595 _In_opt_ 596 PVOID Tag, 597 _In_ 598 LONG Line, 599 _In_z_ 600 PCHAR File 601 ); 602 603 _IRQL_requires_max_(DISPATCH_LEVEL) 604 WDFAPI 605 WDFFILEOBJECT 606 VFWDFEXPORT(WdfDeviceGetFileObject)( 607 _In_ 608 PWDF_DRIVER_GLOBALS DriverGlobals, 609 _In_ 610 WDFDEVICE Device, 611 _In_ 612 PFILE_OBJECT FileObject 613 ); 614 615 _IRQL_requires_max_(DISPATCH_LEVEL) 616 WDFAPI 617 WDFQUEUE 618 VFWDFEXPORT(WdfDeviceGetDefaultQueue)( 619 _In_ 620 PWDF_DRIVER_GLOBALS DriverGlobals, 621 _In_ 622 WDFDEVICE Device 623 ); 624 625 _Must_inspect_result_ 626 _IRQL_requires_max_(DISPATCH_LEVEL) 627 WDFAPI 628 NTSTATUS 629 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching)( 630 _In_ 631 PWDF_DRIVER_GLOBALS DriverGlobals, 632 _In_ 633 WDFDEVICE Device, 634 _In_ 635 WDFQUEUE Queue, 636 _In_ 637 _Strict_type_match_ 638 WDF_REQUEST_TYPE RequestType 639 ); 640 641 _Must_inspect_result_ 642 _IRQL_requires_max_(DISPATCH_LEVEL) 643 WDFAPI 644 NTSTATUS 645 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback)( 646 _In_ 647 PWDF_DRIVER_GLOBALS DriverGlobals, 648 _In_ 649 WDFDEVICE Device, 650 _In_opt_ 651 WDFDRIVER Driver, 652 _In_ 653 UCHAR MajorFunction, 654 _In_ 655 PFN_WDFDEVICE_WDM_IRP_DISPATCH EvtDeviceWdmIrpDisptach, 656 _In_opt_ 657 WDFCONTEXT DriverContext 658 ); 659 660 _IRQL_requires_max_(DISPATCH_LEVEL) 661 WDFAPI 662 POWER_ACTION 663 VFWDFEXPORT(WdfDeviceGetSystemPowerAction)( 664 _In_ 665 PWDF_DRIVER_GLOBALS DriverGlobals, 666 _In_ 667 WDFDEVICE Device 668 ); 669 670 _IRQL_requires_max_(DISPATCH_LEVEL) 671 WDFAPI 672 VOID 673 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure)( 674 _In_ 675 PWDF_DRIVER_GLOBALS DriverGlobals, 676 _In_ 677 PWDFDEVICE_INIT DeviceInit, 678 _In_ 679 WDF_RELEASE_HARDWARE_ORDER_ON_FAILURE ReleaseHardwareOrderOnFailure 680 ); 681 682 _IRQL_requires_max_(PASSIVE_LEVEL) 683 WDFAPI 684 VOID 685 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx)( 686 _In_ 687 PWDF_DRIVER_GLOBALS DriverGlobals, 688 _In_ 689 PWDFDEVICE_INIT DeviceInit, 690 _In_ 691 PWDF_IO_TYPE_CONFIG IoTypeConfig 692 ); 693 694 _IRQL_requires_max_(PASSIVE_LEVEL) 695 WDFAPI 696 NTSTATUS 697 VFWDFEXPORT(WdfDevicePostEvent)( 698 _In_ 699 PWDF_DRIVER_GLOBALS DriverGlobals, 700 _In_ 701 WDFDEVICE Device, 702 _In_ 703 REFGUID EventGuid, 704 _In_ 705 WDF_EVENT_TYPE WdfEventType, 706 _In_reads_bytes_(DataSizeCb) 707 BYTE* Data, 708 _In_ 709 ULONG DataSizeCb 710 ); 711 712 _Must_inspect_result_ 713 _IRQL_requires_max_(PASSIVE_LEVEL) 714 WDFAPI 715 NTSTATUS 716 VFWDFEXPORT(WdfDeviceMapIoSpace)( 717 _In_ 718 PWDF_DRIVER_GLOBALS DriverGlobals, 719 _In_ 720 WDFDEVICE Device, 721 _In_ 722 PHYSICAL_ADDRESS PhysicalAddress, 723 _In_ 724 SIZE_T NumberOfBytes, 725 _In_ 726 MEMORY_CACHING_TYPE CacheType, 727 _Out_ 728 PVOID* PseudoBaseAddress 729 ); 730 731 _IRQL_requires_max_(PASSIVE_LEVEL) 732 WDFAPI 733 VOID 734 VFWDFEXPORT(WdfDeviceUnmapIoSpace)( 735 _In_ 736 PWDF_DRIVER_GLOBALS DriverGlobals, 737 _In_ 738 WDFDEVICE Device, 739 _In_ 740 PVOID PseudoBaseAddress, 741 _In_ 742 SIZE_T NumberOfBytes 743 ); 744 745 _IRQL_requires_max_(PASSIVE_LEVEL) 746 WDFAPI 747 PVOID 748 VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress)( 749 _In_ 750 PWDF_DRIVER_GLOBALS DriverGlobals, 751 _In_ 752 WDFDEVICE Device, 753 _In_ 754 PVOID PseudoBaseAddress 755 ); 756 757 _IRQL_requires_max_(PASSIVE_LEVEL) 758 WDFAPI 759 SIZE_T 760 VFWDFEXPORT(WdfDeviceReadFromHardware)( 761 _In_ 762 PWDF_DRIVER_GLOBALS DriverGlobals, 763 _In_ 764 WDFDEVICE Device, 765 _In_ 766 WDF_DEVICE_HWACCESS_TARGET_TYPE Type, 767 _In_ 768 WDF_DEVICE_HWACCESS_TARGET_SIZE Size, 769 _In_ 770 PVOID TargetAddress, 771 _Out_writes_all_opt_(Count) 772 PVOID Buffer, 773 _In_opt_ 774 ULONG Count 775 ); 776 777 _IRQL_requires_max_(PASSIVE_LEVEL) 778 WDFAPI 779 VOID 780 VFWDFEXPORT(WdfDeviceWriteToHardware)( 781 _In_ 782 PWDF_DRIVER_GLOBALS DriverGlobals, 783 _In_ 784 WDFDEVICE Device, 785 _In_ 786 WDF_DEVICE_HWACCESS_TARGET_TYPE Type, 787 _In_ 788 WDF_DEVICE_HWACCESS_TARGET_SIZE Size, 789 _In_ 790 PVOID TargetAddress, 791 _In_ 792 SIZE_T Value, 793 _In_reads_opt_(Count) 794 PVOID Buffer, 795 _In_opt_ 796 ULONG Count 797 ); 798 799 _IRQL_requires_max_(PASSIVE_LEVEL) 800 WDFAPI 801 NTSTATUS 802 VFWDFEXPORT(WdfDeviceAssignInterfaceProperty)( 803 _In_ 804 PWDF_DRIVER_GLOBALS DriverGlobals, 805 _In_ 806 WDFDEVICE Device, 807 _In_ 808 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData, 809 _In_ 810 DEVPROPTYPE Type, 811 _In_ 812 ULONG BufferLength, 813 _In_reads_bytes_opt_(BufferLength) 814 PVOID PropertyBuffer 815 ); 816 817 _IRQL_requires_max_(PASSIVE_LEVEL) 818 WDFAPI 819 NTSTATUS 820 VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty)( 821 _In_ 822 PWDF_DRIVER_GLOBALS DriverGlobals, 823 _In_ 824 WDFDEVICE Device, 825 _In_ 826 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData, 827 _In_ 828 POOL_TYPE PoolType, 829 _In_opt_ 830 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 831 _Out_ 832 WDFMEMORY* PropertyMemory, 833 _Out_ 834 PDEVPROPTYPE Type 835 ); 836 837 _IRQL_requires_max_(PASSIVE_LEVEL) 838 WDFAPI 839 NTSTATUS 840 VFWDFEXPORT(WdfDeviceQueryInterfaceProperty)( 841 _In_ 842 PWDF_DRIVER_GLOBALS DriverGlobals, 843 _In_ 844 WDFDEVICE Device, 845 _In_ 846 PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData, 847 _In_ 848 ULONG BufferLength, 849 _Out_writes_bytes_opt_(BufferLength) 850 PVOID PropertyBuffer, 851 _Out_ 852 PULONG ResultLength, 853 _Out_ 854 PDEVPROPTYPE Type 855 ); 856 857 _IRQL_requires_max_(PASSIVE_LEVEL) 858 WDFAPI 859 VOID 860 VFWDFEXPORT(WdfDeviceGetDeviceStackIoType)( 861 _In_ 862 PWDF_DRIVER_GLOBALS DriverGlobals, 863 _In_ 864 WDFDEVICE Device, 865 _Out_ 866 WDF_DEVICE_IO_TYPE* ReadWriteIoType, 867 _Out_ 868 WDF_DEVICE_IO_TYPE* IoControlIoType 869 ); 870 871 _Must_inspect_result_ 872 _IRQL_requires_max_(APC_LEVEL) 873 WDFAPI 874 NTSTATUS 875 VFWDFEXPORT(WdfDeviceQueryPropertyEx)( 876 _In_ 877 PWDF_DRIVER_GLOBALS DriverGlobals, 878 _In_ 879 WDFDEVICE Device, 880 _In_ 881 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 882 _In_ 883 ULONG BufferLength, 884 _Out_ 885 PVOID PropertyBuffer, 886 _Out_ 887 PULONG RequiredSize, 888 _Out_ 889 PDEVPROPTYPE Type 890 ); 891 892 _Must_inspect_result_ 893 _IRQL_requires_max_(APC_LEVEL) 894 WDFAPI 895 NTSTATUS 896 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx)( 897 _In_ 898 PWDF_DRIVER_GLOBALS DriverGlobals, 899 _In_ 900 WDFDEVICE Device, 901 _In_ 902 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 903 _In_ 904 _Strict_type_match_ 905 POOL_TYPE PoolType, 906 _In_opt_ 907 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 908 _Out_ 909 WDFMEMORY* PropertyMemory, 910 _Out_ 911 PDEVPROPTYPE Type 912 ); 913 914 _Must_inspect_result_ 915 _IRQL_requires_max_(APC_LEVEL) 916 WDFAPI 917 NTSTATUS 918 VFWDFEXPORT(WdfDeviceAssignProperty)( 919 _In_ 920 PWDF_DRIVER_GLOBALS DriverGlobals, 921 _In_ 922 WDFDEVICE Device, 923 _In_ 924 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 925 _In_ 926 DEVPROPTYPE Type, 927 _In_ 928 ULONG Size, 929 _In_opt_ 930 PVOID Data 931 ); 932 933 _IRQL_requires_max_(DISPATCH_LEVEL) 934 WDFAPI 935 WDFIOTARGET 936 VFWDFEXPORT(WdfDeviceGetSelfIoTarget)( 937 _In_ 938 PWDF_DRIVER_GLOBALS DriverGlobals, 939 _In_ 940 WDFDEVICE Device 941 ); 942 943 _IRQL_requires_max_(DISPATCH_LEVEL) 944 WDFAPI 945 VOID 946 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget)( 947 _In_ 948 PWDF_DRIVER_GLOBALS DriverGlobals, 949 _In_ 950 PWDFDEVICE_INIT DeviceInit 951 ); 952 953 _Must_inspect_result_ 954 _IRQL_requires_max_(PASSIVE_LEVEL) 955 WDFAPI 956 NTSTATUS 957 VFWDFEXPORT(WdfDriverCreate)( 958 _In_ 959 PWDF_DRIVER_GLOBALS DriverGlobals, 960 _In_ 961 PDRIVER_OBJECT DriverObject, 962 _In_ 963 PCUNICODE_STRING RegistryPath, 964 _In_opt_ 965 PWDF_OBJECT_ATTRIBUTES DriverAttributes, 966 _In_ 967 PWDF_DRIVER_CONFIG DriverConfig, 968 _Out_opt_ 969 WDFDRIVER* Driver 970 ); 971 972 _IRQL_requires_max_(PASSIVE_LEVEL) 973 WDFAPI 974 PWSTR 975 VFWDFEXPORT(WdfDriverGetRegistryPath)( 976 _In_ 977 PWDF_DRIVER_GLOBALS DriverGlobals, 978 _In_ 979 WDFDRIVER Driver 980 ); 981 982 _Must_inspect_result_ 983 _IRQL_requires_max_(PASSIVE_LEVEL) 984 WDFAPI 985 NTSTATUS 986 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey)( 987 _In_ 988 PWDF_DRIVER_GLOBALS DriverGlobals, 989 _In_ 990 WDFDRIVER Driver, 991 _In_ 992 ACCESS_MASK DesiredAccess, 993 _In_opt_ 994 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 995 _Out_ 996 WDFKEY* Key 997 ); 998 999 _Must_inspect_result_ 1000 _IRQL_requires_max_(PASSIVE_LEVEL) 1001 WDFAPI 1002 NTSTATUS 1003 VFWDFEXPORT(WdfDriverRetrieveVersionString)( 1004 _In_ 1005 PWDF_DRIVER_GLOBALS DriverGlobals, 1006 _In_ 1007 WDFDRIVER Driver, 1008 _In_ 1009 WDFSTRING String 1010 ); 1011 1012 _Must_inspect_result_ 1013 _IRQL_requires_max_(PASSIVE_LEVEL) 1014 WDFAPI 1015 BOOLEAN 1016 VFWDFEXPORT(WdfDriverIsVersionAvailable)( 1017 _In_ 1018 PWDF_DRIVER_GLOBALS DriverGlobals, 1019 _In_ 1020 WDFDRIVER Driver, 1021 _In_ 1022 PWDF_DRIVER_VERSION_AVAILABLE_PARAMS VersionAvailableParams 1023 ); 1024 1025 _Must_inspect_result_ 1026 _IRQL_requires_max_(PASSIVE_LEVEL) 1027 WDFAPI 1028 NTSTATUS 1029 VFWDFEXPORT(WdfFdoInitOpenRegistryKey)( 1030 _In_ 1031 PWDF_DRIVER_GLOBALS DriverGlobals, 1032 _In_ 1033 PWDFDEVICE_INIT DeviceInit, 1034 _In_ 1035 ULONG DeviceInstanceKeyType, 1036 _In_ 1037 ACCESS_MASK DesiredAccess, 1038 _In_opt_ 1039 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 1040 _Out_ 1041 WDFKEY* Key 1042 ); 1043 1044 _Must_inspect_result_ 1045 _IRQL_requires_max_(PASSIVE_LEVEL) 1046 WDFAPI 1047 NTSTATUS 1048 VFWDFEXPORT(WdfFdoInitQueryProperty)( 1049 _In_ 1050 PWDF_DRIVER_GLOBALS DriverGlobals, 1051 _In_ 1052 PWDFDEVICE_INIT DeviceInit, 1053 _In_ 1054 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1055 _In_ 1056 ULONG BufferLength, 1057 _Out_writes_bytes_all_opt_(BufferLength) 1058 PVOID PropertyBuffer, 1059 _Out_ 1060 PULONG ResultLength 1061 ); 1062 1063 _Must_inspect_result_ 1064 _IRQL_requires_max_(PASSIVE_LEVEL) 1065 WDFAPI 1066 NTSTATUS 1067 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty)( 1068 _In_ 1069 PWDF_DRIVER_GLOBALS DriverGlobals, 1070 _In_ 1071 PWDFDEVICE_INIT DeviceInit, 1072 _In_ 1073 DEVICE_REGISTRY_PROPERTY DeviceProperty, 1074 _In_ 1075 _Strict_type_match_ 1076 POOL_TYPE PoolType, 1077 _In_opt_ 1078 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 1079 _Out_ 1080 WDFMEMORY* PropertyMemory 1081 ); 1082 1083 _Must_inspect_result_ 1084 _IRQL_requires_max_(PASSIVE_LEVEL) 1085 WDFAPI 1086 NTSTATUS 1087 VFWDFEXPORT(WdfFdoInitQueryPropertyEx)( 1088 _In_ 1089 PWDF_DRIVER_GLOBALS DriverGlobals, 1090 _In_ 1091 PWDFDEVICE_INIT DeviceInit, 1092 _In_ 1093 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 1094 _In_ 1095 ULONG BufferLength, 1096 _Out_ 1097 PVOID PropertyBuffer, 1098 _Out_ 1099 PULONG ResultLength, 1100 _Out_ 1101 PDEVPROPTYPE Type 1102 ); 1103 1104 _Must_inspect_result_ 1105 _IRQL_requires_max_(PASSIVE_LEVEL) 1106 WDFAPI 1107 NTSTATUS 1108 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx)( 1109 _In_ 1110 PWDF_DRIVER_GLOBALS DriverGlobals, 1111 _In_ 1112 PWDFDEVICE_INIT DeviceInit, 1113 _In_ 1114 PWDF_DEVICE_PROPERTY_DATA DeviceProperty, 1115 _In_ 1116 _Strict_type_match_ 1117 POOL_TYPE PoolType, 1118 _In_opt_ 1119 PWDF_OBJECT_ATTRIBUTES PropertyMemoryAttributes, 1120 _Out_ 1121 WDFMEMORY* PropertyMemory, 1122 _Out_ 1123 PDEVPROPTYPE Type 1124 ); 1125 1126 _IRQL_requires_max_(PASSIVE_LEVEL) 1127 WDFAPI 1128 VOID 1129 VFWDFEXPORT(WdfFdoInitSetFilter)( 1130 _In_ 1131 PWDF_DRIVER_GLOBALS DriverGlobals, 1132 _In_ 1133 PWDFDEVICE_INIT DeviceInit 1134 ); 1135 1136 _IRQL_requires_max_(PASSIVE_LEVEL) 1137 WDFAPI 1138 PUNICODE_STRING 1139 VFWDFEXPORT(WdfFileObjectGetFileName)( 1140 _In_ 1141 PWDF_DRIVER_GLOBALS DriverGlobals, 1142 _In_ 1143 WDFFILEOBJECT FileObject 1144 ); 1145 1146 _IRQL_requires_max_(DISPATCH_LEVEL) 1147 WDFAPI 1148 WDFDEVICE 1149 VFWDFEXPORT(WdfFileObjectGetDevice)( 1150 _In_ 1151 PWDF_DRIVER_GLOBALS DriverGlobals, 1152 _In_ 1153 WDFFILEOBJECT FileObject 1154 ); 1155 1156 _IRQL_requires_max_(PASSIVE_LEVEL) 1157 WDFAPI 1158 ULONG 1159 VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId)( 1160 _In_ 1161 PWDF_DRIVER_GLOBALS DriverGlobals, 1162 _In_ 1163 WDFFILEOBJECT FileObject 1164 ); 1165 1166 _IRQL_requires_max_(PASSIVE_LEVEL) 1167 WDFAPI 1168 WDFFILEOBJECT 1169 VFWDFEXPORT(WdfFileObjectGetRelatedFileObject)( 1170 _In_ 1171 PWDF_DRIVER_GLOBALS DriverGlobals, 1172 _In_ 1173 WDFFILEOBJECT FileObject 1174 ); 1175 1176 _IRQL_requires_max_(PASSIVE_LEVEL) 1177 WDFAPI 1178 VOID 1179 VFWDFEXPORT(WdfDeviceInitEnableHidInterface)( 1180 _In_ 1181 PWDF_DRIVER_GLOBALS DriverGlobals, 1182 _In_ 1183 PWDFDEVICE_INIT DeviceInit 1184 ); 1185 1186 _Must_inspect_result_ 1187 _IRQL_requires_max_(PASSIVE_LEVEL) 1188 WDFAPI 1189 NTSTATUS 1190 VFWDFEXPORT(WdfDeviceHidNotifyPresence)( 1191 _In_ 1192 PWDF_DRIVER_GLOBALS DriverGlobals, 1193 _In_ 1194 WDFDEVICE Device, 1195 _In_ 1196 BOOLEAN IsPresent 1197 ); 1198 1199 _Must_inspect_result_ 1200 _IRQL_requires_max_(DISPATCH_LEVEL) 1201 WDFAPI 1202 NTSTATUS 1203 VFWDFEXPORT(WdfInterruptCreate)( 1204 _In_ 1205 PWDF_DRIVER_GLOBALS DriverGlobals, 1206 _In_ 1207 WDFDEVICE Device, 1208 _In_ 1209 PWDF_INTERRUPT_CONFIG Configuration, 1210 _In_opt_ 1211 PWDF_OBJECT_ATTRIBUTES Attributes, 1212 _Out_ 1213 WDFINTERRUPT* Interrupt 1214 ); 1215 1216 WDFAPI 1217 BOOLEAN 1218 VFWDFEXPORT(WdfInterruptQueueDpcForIsr)( 1219 _In_ 1220 PWDF_DRIVER_GLOBALS DriverGlobals, 1221 _In_ 1222 WDFINTERRUPT Interrupt 1223 ); 1224 1225 WDFAPI 1226 BOOLEAN 1227 VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr)( 1228 _In_ 1229 PWDF_DRIVER_GLOBALS DriverGlobals, 1230 _In_ 1231 WDFINTERRUPT Interrupt 1232 ); 1233 1234 _IRQL_requires_max_(DISPATCH_LEVEL) 1235 WDFAPI 1236 BOOLEAN 1237 VFWDFEXPORT(WdfInterruptSynchronize)( 1238 _In_ 1239 PWDF_DRIVER_GLOBALS DriverGlobals, 1240 _In_ 1241 WDFINTERRUPT Interrupt, 1242 _In_ 1243 PFN_WDF_INTERRUPT_SYNCHRONIZE Callback, 1244 _In_ 1245 WDFCONTEXT Context 1246 ); 1247 1248 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 1249 WDFAPI 1250 VOID 1251 VFWDFEXPORT(WdfInterruptAcquireLock)( 1252 _In_ 1253 PWDF_DRIVER_GLOBALS DriverGlobals, 1254 _In_ 1255 _Requires_lock_not_held_(_Curr_) 1256 _Acquires_lock_(_Curr_) 1257 WDFINTERRUPT Interrupt 1258 ); 1259 1260 _IRQL_requires_max_(DISPATCH_LEVEL + 1) 1261 WDFAPI 1262 VOID 1263 VFWDFEXPORT(WdfInterruptReleaseLock)( 1264 _In_ 1265 PWDF_DRIVER_GLOBALS DriverGlobals, 1266 _In_ 1267 _Requires_lock_held_(_Curr_) 1268 _Releases_lock_(_Curr_) 1269 WDFINTERRUPT Interrupt 1270 ); 1271 1272 _IRQL_requires_max_(PASSIVE_LEVEL) 1273 WDFAPI 1274 VOID 1275 VFWDFEXPORT(WdfInterruptEnable)( 1276 _In_ 1277 PWDF_DRIVER_GLOBALS DriverGlobals, 1278 _In_ 1279 WDFINTERRUPT Interrupt 1280 ); 1281 1282 _IRQL_requires_max_(PASSIVE_LEVEL) 1283 WDFAPI 1284 VOID 1285 VFWDFEXPORT(WdfInterruptDisable)( 1286 _In_ 1287 PWDF_DRIVER_GLOBALS DriverGlobals, 1288 _In_ 1289 WDFINTERRUPT Interrupt 1290 ); 1291 1292 _IRQL_requires_max_(DISPATCH_LEVEL) 1293 WDFAPI 1294 VOID 1295 VFWDFEXPORT(WdfInterruptGetInfo)( 1296 _In_ 1297 PWDF_DRIVER_GLOBALS DriverGlobals, 1298 _In_ 1299 WDFINTERRUPT Interrupt, 1300 _Out_ 1301 PWDF_INTERRUPT_INFO Info 1302 ); 1303 1304 _IRQL_requires_max_(DISPATCH_LEVEL) 1305 WDFAPI 1306 VOID 1307 VFWDFEXPORT(WdfInterruptSetPolicy)( 1308 _In_ 1309 PWDF_DRIVER_GLOBALS DriverGlobals, 1310 _In_ 1311 WDFINTERRUPT Interrupt, 1312 _In_ 1313 WDF_INTERRUPT_POLICY Policy, 1314 _In_ 1315 WDF_INTERRUPT_PRIORITY Priority, 1316 _In_ 1317 KAFFINITY TargetProcessorSet 1318 ); 1319 1320 _IRQL_requires_max_(DISPATCH_LEVEL) 1321 WDFAPI 1322 VOID 1323 VFWDFEXPORT(WdfInterruptSetExtendedPolicy)( 1324 _In_ 1325 PWDF_DRIVER_GLOBALS DriverGlobals, 1326 _In_ 1327 WDFINTERRUPT Interrupt, 1328 _In_ 1329 PWDF_INTERRUPT_EXTENDED_POLICY PolicyAndGroup 1330 ); 1331 1332 WDFAPI 1333 WDFDEVICE 1334 VFWDFEXPORT(WdfInterruptGetDevice)( 1335 _In_ 1336 PWDF_DRIVER_GLOBALS DriverGlobals, 1337 _In_ 1338 WDFINTERRUPT Interrupt 1339 ); 1340 1341 _Must_inspect_result_ 1342 _Post_satisfies_(return == 1 || return == 0) 1343 _IRQL_requires_max_(PASSIVE_LEVEL) 1344 WDFAPI 1345 BOOLEAN 1346 VFWDFEXPORT(WdfInterruptTryToAcquireLock)( 1347 _In_ 1348 PWDF_DRIVER_GLOBALS DriverGlobals, 1349 _In_ 1350 _Requires_lock_not_held_(_Curr_) 1351 _When_(return!=0, _Acquires_lock_(_Curr_)) 1352 WDFINTERRUPT Interrupt 1353 ); 1354 1355 _Must_inspect_result_ 1356 _IRQL_requires_max_(DISPATCH_LEVEL) 1357 WDFAPI 1358 NTSTATUS 1359 VFWDFEXPORT(WdfIoQueueCreate)( 1360 _In_ 1361 PWDF_DRIVER_GLOBALS DriverGlobals, 1362 _In_ 1363 WDFDEVICE Device, 1364 _In_ 1365 PWDF_IO_QUEUE_CONFIG Config, 1366 _In_opt_ 1367 PWDF_OBJECT_ATTRIBUTES QueueAttributes, 1368 _Out_opt_ 1369 WDFQUEUE* Queue 1370 ); 1371 1372 _IRQL_requires_max_(DISPATCH_LEVEL) 1373 WDFAPI 1374 WDF_IO_QUEUE_STATE 1375 VFWDFEXPORT(WdfIoQueueGetState)( 1376 _In_ 1377 PWDF_DRIVER_GLOBALS DriverGlobals, 1378 _In_ 1379 WDFQUEUE Queue, 1380 _Out_opt_ 1381 PULONG QueueRequests, 1382 _Out_opt_ 1383 PULONG DriverRequests 1384 ); 1385 1386 _IRQL_requires_max_(DISPATCH_LEVEL) 1387 WDFAPI 1388 VOID 1389 VFWDFEXPORT(WdfIoQueueStart)( 1390 _In_ 1391 PWDF_DRIVER_GLOBALS DriverGlobals, 1392 _In_ 1393 WDFQUEUE Queue 1394 ); 1395 1396 _IRQL_requires_max_(DISPATCH_LEVEL) 1397 WDFAPI 1398 VOID 1399 VFWDFEXPORT(WdfIoQueueStop)( 1400 _In_ 1401 PWDF_DRIVER_GLOBALS DriverGlobals, 1402 _In_ 1403 WDFQUEUE Queue, 1404 _When_(Context != 0, _In_) 1405 _When_(Context == 0, _In_opt_) 1406 PFN_WDF_IO_QUEUE_STATE StopComplete, 1407 _When_(StopComplete != 0, _In_) 1408 _When_(StopComplete == 0, _In_opt_) 1409 WDFCONTEXT Context 1410 ); 1411 1412 _IRQL_requires_max_(PASSIVE_LEVEL) 1413 WDFAPI 1414 VOID 1415 VFWDFEXPORT(WdfIoQueueStopSynchronously)( 1416 _In_ 1417 PWDF_DRIVER_GLOBALS DriverGlobals, 1418 _In_ 1419 WDFQUEUE Queue 1420 ); 1421 1422 _IRQL_requires_max_(DISPATCH_LEVEL) 1423 WDFAPI 1424 WDFDEVICE 1425 VFWDFEXPORT(WdfIoQueueGetDevice)( 1426 _In_ 1427 PWDF_DRIVER_GLOBALS DriverGlobals, 1428 _In_ 1429 WDFQUEUE Queue 1430 ); 1431 1432 _Must_inspect_result_ 1433 _IRQL_requires_max_(DISPATCH_LEVEL) 1434 WDFAPI 1435 NTSTATUS 1436 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest)( 1437 _In_ 1438 PWDF_DRIVER_GLOBALS DriverGlobals, 1439 _In_ 1440 WDFQUEUE Queue, 1441 _Out_ 1442 WDFREQUEST* OutRequest 1443 ); 1444 1445 _Must_inspect_result_ 1446 _IRQL_requires_max_(DISPATCH_LEVEL) 1447 WDFAPI 1448 NTSTATUS 1449 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject)( 1450 _In_ 1451 PWDF_DRIVER_GLOBALS DriverGlobals, 1452 _In_ 1453 WDFQUEUE Queue, 1454 _In_ 1455 WDFFILEOBJECT FileObject, 1456 _Out_ 1457 WDFREQUEST* OutRequest 1458 ); 1459 1460 _Must_inspect_result_ 1461 _IRQL_requires_max_(DISPATCH_LEVEL) 1462 WDFAPI 1463 NTSTATUS 1464 VFWDFEXPORT(WdfIoQueueFindRequest)( 1465 _In_ 1466 PWDF_DRIVER_GLOBALS DriverGlobals, 1467 _In_ 1468 WDFQUEUE Queue, 1469 _In_opt_ 1470 WDFREQUEST FoundRequest, 1471 _In_opt_ 1472 WDFFILEOBJECT FileObject, 1473 _Inout_opt_ 1474 PWDF_REQUEST_PARAMETERS Parameters, 1475 _Out_ 1476 WDFREQUEST* OutRequest 1477 ); 1478 1479 _Must_inspect_result_ 1480 _IRQL_requires_max_(DISPATCH_LEVEL) 1481 WDFAPI 1482 NTSTATUS 1483 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest)( 1484 _In_ 1485 PWDF_DRIVER_GLOBALS DriverGlobals, 1486 _In_ 1487 WDFQUEUE Queue, 1488 _In_ 1489 WDFREQUEST FoundRequest, 1490 _Out_ 1491 WDFREQUEST* OutRequest 1492 ); 1493 1494 _IRQL_requires_max_(PASSIVE_LEVEL) 1495 WDFAPI 1496 VOID 1497 VFWDFEXPORT(WdfIoQueueDrainSynchronously)( 1498 _In_ 1499 PWDF_DRIVER_GLOBALS DriverGlobals, 1500 _In_ 1501 WDFQUEUE Queue 1502 ); 1503 1504 _IRQL_requires_max_(DISPATCH_LEVEL) 1505 WDFAPI 1506 VOID 1507 VFWDFEXPORT(WdfIoQueueDrain)( 1508 _In_ 1509 PWDF_DRIVER_GLOBALS DriverGlobals, 1510 _In_ 1511 WDFQUEUE Queue, 1512 _When_(Context != 0, _In_) 1513 _When_(Context == 0, _In_opt_) 1514 PFN_WDF_IO_QUEUE_STATE DrainComplete, 1515 _When_(DrainComplete != 0, _In_) 1516 _When_(DrainComplete == 0, _In_opt_) 1517 WDFCONTEXT Context 1518 ); 1519 1520 _IRQL_requires_max_(PASSIVE_LEVEL) 1521 WDFAPI 1522 VOID 1523 VFWDFEXPORT(WdfIoQueuePurgeSynchronously)( 1524 _In_ 1525 PWDF_DRIVER_GLOBALS DriverGlobals, 1526 _In_ 1527 WDFQUEUE Queue 1528 ); 1529 1530 _IRQL_requires_max_(DISPATCH_LEVEL) 1531 WDFAPI 1532 VOID 1533 VFWDFEXPORT(WdfIoQueuePurge)( 1534 _In_ 1535 PWDF_DRIVER_GLOBALS DriverGlobals, 1536 _In_ 1537 WDFQUEUE Queue, 1538 _When_(Context != 0, _In_) 1539 _When_(Context == 0, _In_opt_) 1540 PFN_WDF_IO_QUEUE_STATE PurgeComplete, 1541 _When_(PurgeComplete != 0, _In_) 1542 _When_(PurgeComplete == 0, _In_opt_) 1543 WDFCONTEXT Context 1544 ); 1545 1546 _Must_inspect_result_ 1547 _IRQL_requires_max_(DISPATCH_LEVEL) 1548 WDFAPI 1549 NTSTATUS 1550 VFWDFEXPORT(WdfIoQueueReadyNotify)( 1551 _In_ 1552 PWDF_DRIVER_GLOBALS DriverGlobals, 1553 _In_ 1554 WDFQUEUE Queue, 1555 _In_opt_ 1556 PFN_WDF_IO_QUEUE_STATE QueueReady, 1557 _In_opt_ 1558 WDFCONTEXT Context 1559 ); 1560 1561 _IRQL_requires_max_(DISPATCH_LEVEL) 1562 WDFAPI 1563 VOID 1564 VFWDFEXPORT(WdfIoQueueStopAndPurge)( 1565 _In_ 1566 PWDF_DRIVER_GLOBALS DriverGlobals, 1567 _In_ 1568 WDFQUEUE Queue, 1569 _When_(Context != 0, _In_) 1570 _When_(Context == 0, _In_opt_) 1571 PFN_WDF_IO_QUEUE_STATE StopAndPurgeComplete, 1572 _When_(StopAndPurgeComplete != 0, _In_) 1573 _When_(StopAndPurgeComplete == 0, _In_opt_) 1574 WDFCONTEXT Context 1575 ); 1576 1577 _IRQL_requires_max_(PASSIVE_LEVEL) 1578 WDFAPI 1579 VOID 1580 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously)( 1581 _In_ 1582 PWDF_DRIVER_GLOBALS DriverGlobals, 1583 _In_ 1584 WDFQUEUE Queue 1585 ); 1586 1587 _Must_inspect_result_ 1588 _IRQL_requires_max_(PASSIVE_LEVEL) 1589 WDFAPI 1590 NTSTATUS 1591 VFWDFEXPORT(WdfIoTargetCreate)( 1592 _In_ 1593 PWDF_DRIVER_GLOBALS DriverGlobals, 1594 _In_ 1595 WDFDEVICE Device, 1596 _In_opt_ 1597 PWDF_OBJECT_ATTRIBUTES IoTargetAttributes, 1598 _Out_ 1599 WDFIOTARGET* IoTarget 1600 ); 1601 1602 _Must_inspect_result_ 1603 _IRQL_requires_max_(PASSIVE_LEVEL) 1604 WDFAPI 1605 NTSTATUS 1606 VFWDFEXPORT(WdfIoTargetOpen)( 1607 _In_ 1608 PWDF_DRIVER_GLOBALS DriverGlobals, 1609 _In_ 1610 WDFIOTARGET IoTarget, 1611 _In_ 1612 PWDF_IO_TARGET_OPEN_PARAMS OpenParams 1613 ); 1614 1615 _IRQL_requires_max_(PASSIVE_LEVEL) 1616 WDFAPI 1617 VOID 1618 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove)( 1619 _In_ 1620 PWDF_DRIVER_GLOBALS DriverGlobals, 1621 _In_ 1622 WDFIOTARGET IoTarget 1623 ); 1624 1625 _IRQL_requires_max_(PASSIVE_LEVEL) 1626 WDFAPI 1627 VOID 1628 VFWDFEXPORT(WdfIoTargetClose)( 1629 _In_ 1630 PWDF_DRIVER_GLOBALS DriverGlobals, 1631 _In_ 1632 WDFIOTARGET IoTarget 1633 ); 1634 1635 _Must_inspect_result_ 1636 _IRQL_requires_max_(DISPATCH_LEVEL) 1637 WDFAPI 1638 NTSTATUS 1639 VFWDFEXPORT(WdfIoTargetStart)( 1640 _In_ 1641 PWDF_DRIVER_GLOBALS DriverGlobals, 1642 _In_ 1643 WDFIOTARGET IoTarget 1644 ); 1645 1646 _When_(Action == 3, _IRQL_requires_max_(DISPATCH_LEVEL)) 1647 _When_(Action == 0 || Action == 1 || Action == 2, _IRQL_requires_max_(PASSIVE_LEVEL)) 1648 WDFAPI 1649 VOID 1650 VFWDFEXPORT(WdfIoTargetStop)( 1651 _In_ 1652 PWDF_DRIVER_GLOBALS DriverGlobals, 1653 _In_ 1654 WDFIOTARGET IoTarget, 1655 _In_ 1656 _Strict_type_match_ 1657 WDF_IO_TARGET_SENT_IO_ACTION Action 1658 ); 1659 1660 _When_(Action == 2, _IRQL_requires_max_(DISPATCH_LEVEL)) 1661 _When_(Action == 0 || Action == 1, _IRQL_requires_max_(PASSIVE_LEVEL)) 1662 WDFAPI 1663 VOID 1664 VFWDFEXPORT(WdfIoTargetPurge)( 1665 _In_ 1666 PWDF_DRIVER_GLOBALS DriverGlobals, 1667 _In_ 1668 WDFIOTARGET IoTarget, 1669 _In_ 1670 _Strict_type_match_ 1671 WDF_IO_TARGET_PURGE_IO_ACTION Action 1672 ); 1673 1674 _IRQL_requires_max_(DISPATCH_LEVEL) 1675 WDFAPI 1676 WDF_IO_TARGET_STATE 1677 VFWDFEXPORT(WdfIoTargetGetState)( 1678 _In_ 1679 PWDF_DRIVER_GLOBALS DriverGlobals, 1680 _In_ 1681 WDFIOTARGET IoTarget 1682 ); 1683 1684 _IRQL_requires_max_(DISPATCH_LEVEL) 1685 WDFAPI 1686 WDFDEVICE 1687 VFWDFEXPORT(WdfIoTargetGetDevice)( 1688 _In_ 1689 PWDF_DRIVER_GLOBALS DriverGlobals, 1690 _In_ 1691 WDFIOTARGET IoTarget 1692 ); 1693 1694 _IRQL_requires_max_(DISPATCH_LEVEL) 1695 WDFAPI 1696 HANDLE 1697 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle)( 1698 _In_ 1699 PWDF_DRIVER_GLOBALS DriverGlobals, 1700 _In_ 1701 WDFIOTARGET IoTarget 1702 ); 1703 1704 _Must_inspect_result_ 1705 _IRQL_requires_max_(PASSIVE_LEVEL) 1706 WDFAPI 1707 NTSTATUS 1708 VFWDFEXPORT(WdfIoTargetSendReadSynchronously)( 1709 _In_ 1710 PWDF_DRIVER_GLOBALS DriverGlobals, 1711 _In_ 1712 WDFIOTARGET IoTarget, 1713 _In_opt_ 1714 WDFREQUEST Request, 1715 _In_opt_ 1716 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 1717 _In_opt_ 1718 PLONGLONG DeviceOffset, 1719 _In_opt_ 1720 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 1721 _Out_opt_ 1722 PULONG_PTR BytesRead 1723 ); 1724 1725 _Must_inspect_result_ 1726 _IRQL_requires_max_(DISPATCH_LEVEL) 1727 WDFAPI 1728 NTSTATUS 1729 VFWDFEXPORT(WdfIoTargetFormatRequestForRead)( 1730 _In_ 1731 PWDF_DRIVER_GLOBALS DriverGlobals, 1732 _In_ 1733 WDFIOTARGET IoTarget, 1734 _In_ 1735 WDFREQUEST Request, 1736 _In_opt_ 1737 WDFMEMORY OutputBuffer, 1738 _In_opt_ 1739 PWDFMEMORY_OFFSET OutputBufferOffset, 1740 _In_opt_ 1741 PLONGLONG DeviceOffset 1742 ); 1743 1744 _Must_inspect_result_ 1745 _IRQL_requires_max_(PASSIVE_LEVEL) 1746 WDFAPI 1747 NTSTATUS 1748 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously)( 1749 _In_ 1750 PWDF_DRIVER_GLOBALS DriverGlobals, 1751 _In_ 1752 WDFIOTARGET IoTarget, 1753 _In_opt_ 1754 WDFREQUEST Request, 1755 _In_opt_ 1756 PWDF_MEMORY_DESCRIPTOR InputBuffer, 1757 _In_opt_ 1758 PLONGLONG DeviceOffset, 1759 _In_opt_ 1760 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 1761 _Out_opt_ 1762 PULONG_PTR BytesWritten 1763 ); 1764 1765 _Must_inspect_result_ 1766 _IRQL_requires_max_(DISPATCH_LEVEL) 1767 WDFAPI 1768 NTSTATUS 1769 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite)( 1770 _In_ 1771 PWDF_DRIVER_GLOBALS DriverGlobals, 1772 _In_ 1773 WDFIOTARGET IoTarget, 1774 _In_ 1775 WDFREQUEST Request, 1776 _In_opt_ 1777 WDFMEMORY InputBuffer, 1778 _In_opt_ 1779 PWDFMEMORY_OFFSET InputBufferOffset, 1780 _In_opt_ 1781 PLONGLONG DeviceOffset 1782 ); 1783 1784 _Must_inspect_result_ 1785 _IRQL_requires_max_(PASSIVE_LEVEL) 1786 WDFAPI 1787 NTSTATUS 1788 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously)( 1789 _In_ 1790 PWDF_DRIVER_GLOBALS DriverGlobals, 1791 _In_ 1792 WDFIOTARGET IoTarget, 1793 _In_opt_ 1794 WDFREQUEST Request, 1795 _In_ 1796 ULONG IoctlCode, 1797 _In_opt_ 1798 PWDF_MEMORY_DESCRIPTOR InputBuffer, 1799 _In_opt_ 1800 PWDF_MEMORY_DESCRIPTOR OutputBuffer, 1801 _In_opt_ 1802 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 1803 _Out_opt_ 1804 PULONG_PTR BytesReturned 1805 ); 1806 1807 _Must_inspect_result_ 1808 _IRQL_requires_max_(DISPATCH_LEVEL) 1809 WDFAPI 1810 NTSTATUS 1811 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl)( 1812 _In_ 1813 PWDF_DRIVER_GLOBALS DriverGlobals, 1814 _In_ 1815 WDFIOTARGET IoTarget, 1816 _In_ 1817 WDFREQUEST Request, 1818 _In_ 1819 ULONG IoctlCode, 1820 _In_opt_ 1821 WDFMEMORY InputBuffer, 1822 _In_opt_ 1823 PWDFMEMORY_OFFSET InputBufferOffset, 1824 _In_opt_ 1825 WDFMEMORY OutputBuffer, 1826 _In_opt_ 1827 PWDFMEMORY_OFFSET OutputBufferOffset 1828 ); 1829 1830 _IRQL_requires_max_(DISPATCH_LEVEL) 1831 WDFAPI 1832 NTSTATUS 1833 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue)( 1834 _In_ 1835 PWDF_DRIVER_GLOBALS DriverGlobals, 1836 _In_ 1837 WDFIOTARGET IoTarget, 1838 _In_ 1839 WDFQUEUE Queue 1840 ); 1841 1842 _Must_inspect_result_ 1843 _When_(PoolType == 1 || PoolType == 257, _IRQL_requires_max_(APC_LEVEL)) 1844 _When_(PoolType == 0 || PoolType == 256, _IRQL_requires_max_(DISPATCH_LEVEL)) 1845 WDFAPI 1846 NTSTATUS 1847 VFWDFEXPORT(WdfMemoryCreate)( 1848 _In_ 1849 PWDF_DRIVER_GLOBALS DriverGlobals, 1850 _In_opt_ 1851 PWDF_OBJECT_ATTRIBUTES Attributes, 1852 _In_ 1853 _Strict_type_match_ 1854 POOL_TYPE PoolType, 1855 _In_opt_ 1856 ULONG PoolTag, 1857 _In_ 1858 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 1859 size_t BufferSize, 1860 _Out_ 1861 WDFMEMORY* Memory, 1862 _Outptr_opt_result_bytebuffer_(BufferSize) 1863 PVOID* Buffer 1864 ); 1865 1866 _Must_inspect_result_ 1867 _IRQL_requires_max_(DISPATCH_LEVEL) 1868 WDFAPI 1869 NTSTATUS 1870 VFWDFEXPORT(WdfMemoryCreatePreallocated)( 1871 _In_ 1872 PWDF_DRIVER_GLOBALS DriverGlobals, 1873 _In_opt_ 1874 PWDF_OBJECT_ATTRIBUTES Attributes, 1875 _In_ __drv_aliasesMem 1876 PVOID Buffer, 1877 _In_ 1878 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 1879 size_t BufferSize, 1880 _Out_ 1881 WDFMEMORY* Memory 1882 ); 1883 1884 _IRQL_requires_max_(DISPATCH_LEVEL) 1885 WDFAPI 1886 PVOID 1887 VFWDFEXPORT(WdfMemoryGetBuffer)( 1888 _In_ 1889 PWDF_DRIVER_GLOBALS DriverGlobals, 1890 _In_ 1891 WDFMEMORY Memory, 1892 _Out_opt_ 1893 size_t* BufferSize 1894 ); 1895 1896 _Must_inspect_result_ 1897 _IRQL_requires_max_(DISPATCH_LEVEL) 1898 WDFAPI 1899 NTSTATUS 1900 VFWDFEXPORT(WdfMemoryAssignBuffer)( 1901 _In_ 1902 PWDF_DRIVER_GLOBALS DriverGlobals, 1903 _In_ 1904 WDFMEMORY Memory, 1905 _Pre_notnull_ _Pre_writable_byte_size_(BufferSize) 1906 PVOID Buffer, 1907 _In_ 1908 _When_(BufferSize == 0, __drv_reportError(BufferSize cannot be zero)) 1909 size_t BufferSize 1910 ); 1911 1912 _Must_inspect_result_ 1913 _IRQL_requires_max_(DISPATCH_LEVEL) 1914 WDFAPI 1915 NTSTATUS 1916 VFWDFEXPORT(WdfMemoryCopyToBuffer)( 1917 _In_ 1918 PWDF_DRIVER_GLOBALS DriverGlobals, 1919 _In_ 1920 WDFMEMORY SourceMemory, 1921 _In_ 1922 size_t SourceOffset, 1923 _Out_writes_bytes_( NumBytesToCopyTo ) 1924 PVOID Buffer, 1925 _In_ 1926 _When_(NumBytesToCopyTo == 0, __drv_reportError(NumBytesToCopyTo cannot be zero)) 1927 size_t NumBytesToCopyTo 1928 ); 1929 1930 _Must_inspect_result_ 1931 _IRQL_requires_max_(DISPATCH_LEVEL) 1932 WDFAPI 1933 NTSTATUS 1934 VFWDFEXPORT(WdfMemoryCopyFromBuffer)( 1935 _In_ 1936 PWDF_DRIVER_GLOBALS DriverGlobals, 1937 _In_ 1938 WDFMEMORY DestinationMemory, 1939 _In_ 1940 size_t DestinationOffset, 1941 _In_ 1942 PVOID Buffer, 1943 _In_ 1944 _When_(NumBytesToCopyFrom == 0, __drv_reportError(NumBytesToCopyFrom cannot be zero)) 1945 size_t NumBytesToCopyFrom 1946 ); 1947 1948 WDFAPI 1949 PVOID 1950 FASTCALL 1951 VFWDFEXPORT(WdfObjectGetTypedContextWorker)( 1952 _In_ 1953 PWDF_DRIVER_GLOBALS DriverGlobals, 1954 _In_ 1955 WDFOBJECT Handle, 1956 _In_ 1957 PCWDF_OBJECT_CONTEXT_TYPE_INFO TypeInfo 1958 ); 1959 1960 WDFAPI 1961 NTSTATUS 1962 VFWDFEXPORT(WdfObjectAllocateContext)( 1963 _In_ 1964 PWDF_DRIVER_GLOBALS DriverGlobals, 1965 _In_ 1966 WDFOBJECT Handle, 1967 _In_ 1968 PWDF_OBJECT_ATTRIBUTES ContextAttributes, 1969 _Outptr_opt_ 1970 PVOID* Context 1971 ); 1972 1973 WDFAPI 1974 WDFOBJECT 1975 FASTCALL 1976 VFWDFEXPORT(WdfObjectContextGetObject)( 1977 _In_ 1978 PWDF_DRIVER_GLOBALS DriverGlobals, 1979 _In_ 1980 PVOID ContextPointer 1981 ); 1982 1983 WDFAPI 1984 VOID 1985 VFWDFEXPORT(WdfObjectReferenceActual)( 1986 _In_ 1987 PWDF_DRIVER_GLOBALS DriverGlobals, 1988 _In_ 1989 WDFOBJECT Handle, 1990 _In_opt_ 1991 PVOID Tag, 1992 _In_ 1993 LONG Line, 1994 _In_z_ 1995 PCHAR File 1996 ); 1997 1998 WDFAPI 1999 VOID 2000 VFWDFEXPORT(WdfObjectDereferenceActual)( 2001 _In_ 2002 PWDF_DRIVER_GLOBALS DriverGlobals, 2003 _In_ 2004 WDFOBJECT Handle, 2005 _In_opt_ 2006 PVOID Tag, 2007 _In_ 2008 LONG Line, 2009 _In_z_ 2010 PCHAR File 2011 ); 2012 2013 _Must_inspect_result_ 2014 _IRQL_requires_max_(DISPATCH_LEVEL) 2015 WDFAPI 2016 NTSTATUS 2017 VFWDFEXPORT(WdfObjectCreate)( 2018 _In_ 2019 PWDF_DRIVER_GLOBALS DriverGlobals, 2020 _In_opt_ 2021 PWDF_OBJECT_ATTRIBUTES Attributes, 2022 _Out_ 2023 WDFOBJECT* Object 2024 ); 2025 2026 _IRQL_requires_max_(DISPATCH_LEVEL) 2027 WDFAPI 2028 VOID 2029 VFWDFEXPORT(WdfObjectDelete)( 2030 _In_ 2031 PWDF_DRIVER_GLOBALS DriverGlobals, 2032 _In_ 2033 WDFOBJECT Object 2034 ); 2035 2036 _Must_inspect_result_ 2037 _IRQL_requires_max_(DISPATCH_LEVEL) 2038 WDFAPI 2039 NTSTATUS 2040 VFWDFEXPORT(WdfObjectQuery)( 2041 _In_ 2042 PWDF_DRIVER_GLOBALS DriverGlobals, 2043 _In_ 2044 WDFOBJECT Object, 2045 _In_ 2046 CONST GUID* Guid, 2047 _In_ 2048 ULONG QueryBufferLength, 2049 _Out_writes_bytes_(QueryBufferLength) 2050 PVOID QueryBuffer 2051 ); 2052 2053 _Must_inspect_result_ 2054 _IRQL_requires_max_(PASSIVE_LEVEL) 2055 WDFAPI 2056 NTSTATUS 2057 VFWDFEXPORT(WdfRegistryOpenKey)( 2058 _In_ 2059 PWDF_DRIVER_GLOBALS DriverGlobals, 2060 _In_opt_ 2061 WDFKEY ParentKey, 2062 _In_ 2063 PCUNICODE_STRING KeyName, 2064 _In_ 2065 ACCESS_MASK DesiredAccess, 2066 _In_opt_ 2067 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2068 _Out_ 2069 WDFKEY* Key 2070 ); 2071 2072 _Must_inspect_result_ 2073 _IRQL_requires_max_(PASSIVE_LEVEL) 2074 WDFAPI 2075 NTSTATUS 2076 VFWDFEXPORT(WdfRegistryCreateKey)( 2077 _In_ 2078 PWDF_DRIVER_GLOBALS DriverGlobals, 2079 _In_opt_ 2080 WDFKEY ParentKey, 2081 _In_ 2082 PCUNICODE_STRING KeyName, 2083 _In_ 2084 ACCESS_MASK DesiredAccess, 2085 _In_ 2086 ULONG CreateOptions, 2087 _Out_opt_ 2088 PULONG CreateDisposition, 2089 _In_opt_ 2090 PWDF_OBJECT_ATTRIBUTES KeyAttributes, 2091 _Out_ 2092 WDFKEY* Key 2093 ); 2094 2095 _IRQL_requires_max_(PASSIVE_LEVEL) 2096 WDFAPI 2097 VOID 2098 VFWDFEXPORT(WdfRegistryClose)( 2099 _In_ 2100 PWDF_DRIVER_GLOBALS DriverGlobals, 2101 _In_ 2102 WDFKEY Key 2103 ); 2104 2105 _IRQL_requires_max_(PASSIVE_LEVEL) 2106 WDFAPI 2107 HANDLE 2108 VFWDFEXPORT(WdfRegistryWdmGetHandle)( 2109 _In_ 2110 PWDF_DRIVER_GLOBALS DriverGlobals, 2111 _In_ 2112 WDFKEY Key 2113 ); 2114 2115 _Must_inspect_result_ 2116 _IRQL_requires_max_(PASSIVE_LEVEL) 2117 WDFAPI 2118 NTSTATUS 2119 VFWDFEXPORT(WdfRegistryRemoveKey)( 2120 _In_ 2121 PWDF_DRIVER_GLOBALS DriverGlobals, 2122 _In_ 2123 WDFKEY Key 2124 ); 2125 2126 _Must_inspect_result_ 2127 _IRQL_requires_max_(PASSIVE_LEVEL) 2128 WDFAPI 2129 NTSTATUS 2130 VFWDFEXPORT(WdfRegistryRemoveValue)( 2131 _In_ 2132 PWDF_DRIVER_GLOBALS DriverGlobals, 2133 _In_ 2134 WDFKEY Key, 2135 _In_ 2136 PCUNICODE_STRING ValueName 2137 ); 2138 2139 _Must_inspect_result_ 2140 _IRQL_requires_max_(PASSIVE_LEVEL) 2141 WDFAPI 2142 NTSTATUS 2143 VFWDFEXPORT(WdfRegistryQueryValue)( 2144 _In_ 2145 PWDF_DRIVER_GLOBALS DriverGlobals, 2146 _In_ 2147 WDFKEY Key, 2148 _In_ 2149 PCUNICODE_STRING ValueName, 2150 _In_ 2151 ULONG ValueLength, 2152 _Out_writes_bytes_opt_( ValueLength) 2153 PVOID Value, 2154 _Out_opt_ 2155 PULONG ValueLengthQueried, 2156 _Out_opt_ 2157 PULONG ValueType 2158 ); 2159 2160 _Must_inspect_result_ 2161 _IRQL_requires_max_(PASSIVE_LEVEL) 2162 WDFAPI 2163 NTSTATUS 2164 VFWDFEXPORT(WdfRegistryQueryMemory)( 2165 _In_ 2166 PWDF_DRIVER_GLOBALS DriverGlobals, 2167 _In_ 2168 WDFKEY Key, 2169 _In_ 2170 PCUNICODE_STRING ValueName, 2171 _In_ 2172 _Strict_type_match_ 2173 POOL_TYPE PoolType, 2174 _In_opt_ 2175 PWDF_OBJECT_ATTRIBUTES MemoryAttributes, 2176 _Out_ 2177 WDFMEMORY* Memory, 2178 _Out_opt_ 2179 PULONG ValueType 2180 ); 2181 2182 _Must_inspect_result_ 2183 _IRQL_requires_max_(PASSIVE_LEVEL) 2184 WDFAPI 2185 NTSTATUS 2186 VFWDFEXPORT(WdfRegistryQueryMultiString)( 2187 _In_ 2188 PWDF_DRIVER_GLOBALS DriverGlobals, 2189 _In_ 2190 WDFKEY Key, 2191 _In_ 2192 PCUNICODE_STRING ValueName, 2193 _In_opt_ 2194 PWDF_OBJECT_ATTRIBUTES StringsAttributes, 2195 _In_ 2196 WDFCOLLECTION Collection 2197 ); 2198 2199 _Must_inspect_result_ 2200 _IRQL_requires_max_(PASSIVE_LEVEL) 2201 WDFAPI 2202 NTSTATUS 2203 VFWDFEXPORT(WdfRegistryQueryUnicodeString)( 2204 _In_ 2205 PWDF_DRIVER_GLOBALS DriverGlobals, 2206 _In_ 2207 WDFKEY Key, 2208 _In_ 2209 PCUNICODE_STRING ValueName, 2210 _Out_opt_ 2211 PUSHORT ValueByteLength, 2212 _Inout_opt_ 2213 PUNICODE_STRING Value 2214 ); 2215 2216 _Must_inspect_result_ 2217 _IRQL_requires_max_(PASSIVE_LEVEL) 2218 WDFAPI 2219 NTSTATUS 2220 VFWDFEXPORT(WdfRegistryQueryString)( 2221 _In_ 2222 PWDF_DRIVER_GLOBALS DriverGlobals, 2223 _In_ 2224 WDFKEY Key, 2225 _In_ 2226 PCUNICODE_STRING ValueName, 2227 _In_ 2228 WDFSTRING String 2229 ); 2230 2231 _Must_inspect_result_ 2232 _IRQL_requires_max_(PASSIVE_LEVEL) 2233 WDFAPI 2234 NTSTATUS 2235 VFWDFEXPORT(WdfRegistryQueryULong)( 2236 _In_ 2237 PWDF_DRIVER_GLOBALS DriverGlobals, 2238 _In_ 2239 WDFKEY Key, 2240 _In_ 2241 PCUNICODE_STRING ValueName, 2242 _Out_ 2243 PULONG Value 2244 ); 2245 2246 _Must_inspect_result_ 2247 _IRQL_requires_max_(PASSIVE_LEVEL) 2248 WDFAPI 2249 NTSTATUS 2250 VFWDFEXPORT(WdfRegistryAssignValue)( 2251 _In_ 2252 PWDF_DRIVER_GLOBALS DriverGlobals, 2253 _In_ 2254 WDFKEY Key, 2255 _In_ 2256 PCUNICODE_STRING ValueName, 2257 _In_ 2258 ULONG ValueType, 2259 _In_ 2260 ULONG ValueLength, 2261 _In_reads_( ValueLength) 2262 PVOID Value 2263 ); 2264 2265 _Must_inspect_result_ 2266 _IRQL_requires_max_(PASSIVE_LEVEL) 2267 WDFAPI 2268 NTSTATUS 2269 VFWDFEXPORT(WdfRegistryAssignMemory)( 2270 _In_ 2271 PWDF_DRIVER_GLOBALS DriverGlobals, 2272 _In_ 2273 WDFKEY Key, 2274 _In_ 2275 PCUNICODE_STRING ValueName, 2276 _In_ 2277 ULONG ValueType, 2278 _In_ 2279 WDFMEMORY Memory, 2280 _In_opt_ 2281 PWDFMEMORY_OFFSET MemoryOffsets 2282 ); 2283 2284 _Must_inspect_result_ 2285 _IRQL_requires_max_(PASSIVE_LEVEL) 2286 WDFAPI 2287 NTSTATUS 2288 VFWDFEXPORT(WdfRegistryAssignMultiString)( 2289 _In_ 2290 PWDF_DRIVER_GLOBALS DriverGlobals, 2291 _In_ 2292 WDFKEY Key, 2293 _In_ 2294 PCUNICODE_STRING ValueName, 2295 _In_ 2296 WDFCOLLECTION StringsCollection 2297 ); 2298 2299 _Must_inspect_result_ 2300 _IRQL_requires_max_(PASSIVE_LEVEL) 2301 WDFAPI 2302 NTSTATUS 2303 VFWDFEXPORT(WdfRegistryAssignUnicodeString)( 2304 _In_ 2305 PWDF_DRIVER_GLOBALS DriverGlobals, 2306 _In_ 2307 WDFKEY Key, 2308 _In_ 2309 PCUNICODE_STRING ValueName, 2310 _In_ 2311 PCUNICODE_STRING Value 2312 ); 2313 2314 _Must_inspect_result_ 2315 _IRQL_requires_max_(PASSIVE_LEVEL) 2316 WDFAPI 2317 NTSTATUS 2318 VFWDFEXPORT(WdfRegistryAssignString)( 2319 _In_ 2320 PWDF_DRIVER_GLOBALS DriverGlobals, 2321 _In_ 2322 WDFKEY Key, 2323 _In_ 2324 PCUNICODE_STRING ValueName, 2325 _In_ 2326 WDFSTRING String 2327 ); 2328 2329 _Must_inspect_result_ 2330 _IRQL_requires_max_(PASSIVE_LEVEL) 2331 WDFAPI 2332 NTSTATUS 2333 VFWDFEXPORT(WdfRegistryAssignULong)( 2334 _In_ 2335 PWDF_DRIVER_GLOBALS DriverGlobals, 2336 _In_ 2337 WDFKEY Key, 2338 _In_ 2339 PCUNICODE_STRING ValueName, 2340 _In_ 2341 ULONG Value 2342 ); 2343 2344 _Must_inspect_result_ 2345 _IRQL_requires_max_(DISPATCH_LEVEL) 2346 WDFAPI 2347 NTSTATUS 2348 VFWDFEXPORT(WdfRequestCreate)( 2349 _In_ 2350 PWDF_DRIVER_GLOBALS DriverGlobals, 2351 _In_opt_ 2352 PWDF_OBJECT_ATTRIBUTES RequestAttributes, 2353 _In_opt_ 2354 WDFIOTARGET IoTarget, 2355 _Out_ 2356 WDFREQUEST* Request 2357 ); 2358 2359 _IRQL_requires_max_(DISPATCH_LEVEL) 2360 WDFAPI 2361 NTSTATUS 2362 VFWDFEXPORT(WdfRequestReuse)( 2363 _In_ 2364 PWDF_DRIVER_GLOBALS DriverGlobals, 2365 _In_ 2366 WDFREQUEST Request, 2367 _In_ 2368 PWDF_REQUEST_REUSE_PARAMS ReuseParams 2369 ); 2370 2371 _Must_inspect_result_ 2372 _IRQL_requires_max_(DISPATCH_LEVEL) 2373 WDFAPI 2374 NTSTATUS 2375 VFWDFEXPORT(WdfRequestChangeTarget)( 2376 _In_ 2377 PWDF_DRIVER_GLOBALS DriverGlobals, 2378 _In_ 2379 WDFREQUEST Request, 2380 _In_ 2381 WDFIOTARGET IoTarget 2382 ); 2383 2384 _IRQL_requires_max_(DISPATCH_LEVEL) 2385 WDFAPI 2386 VOID 2387 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType)( 2388 _In_ 2389 PWDF_DRIVER_GLOBALS DriverGlobals, 2390 _In_ 2391 WDFREQUEST Request 2392 ); 2393 2394 _IRQL_requires_max_(DISPATCH_LEVEL) 2395 _When_(Options->Flags & WDF_REQUEST_SEND_OPTION_SYNCHRONOUS == 0, _Must_inspect_result_) 2396 WDFAPI 2397 BOOLEAN 2398 VFWDFEXPORT(WdfRequestSend)( 2399 _In_ 2400 PWDF_DRIVER_GLOBALS DriverGlobals, 2401 _In_ 2402 WDFREQUEST Request, 2403 _In_ 2404 WDFIOTARGET Target, 2405 _In_opt_ 2406 PWDF_REQUEST_SEND_OPTIONS Options 2407 ); 2408 2409 _Must_inspect_result_ 2410 _IRQL_requires_max_(DISPATCH_LEVEL) 2411 WDFAPI 2412 NTSTATUS 2413 VFWDFEXPORT(WdfRequestGetStatus)( 2414 _In_ 2415 PWDF_DRIVER_GLOBALS DriverGlobals, 2416 _In_ 2417 WDFREQUEST Request 2418 ); 2419 2420 _IRQL_requires_max_(DISPATCH_LEVEL) 2421 WDFAPI 2422 VOID 2423 VFWDFEXPORT(WdfRequestMarkCancelable)( 2424 _In_ 2425 PWDF_DRIVER_GLOBALS DriverGlobals, 2426 _In_ 2427 WDFREQUEST Request, 2428 _In_ 2429 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 2430 ); 2431 2432 _Must_inspect_result_ 2433 _IRQL_requires_max_(DISPATCH_LEVEL) 2434 WDFAPI 2435 NTSTATUS 2436 VFWDFEXPORT(WdfRequestMarkCancelableEx)( 2437 _In_ 2438 PWDF_DRIVER_GLOBALS DriverGlobals, 2439 _In_ 2440 WDFREQUEST Request, 2441 _In_ 2442 PFN_WDF_REQUEST_CANCEL EvtRequestCancel 2443 ); 2444 2445 _Must_inspect_result_ 2446 _IRQL_requires_max_(DISPATCH_LEVEL) 2447 WDFAPI 2448 NTSTATUS 2449 VFWDFEXPORT(WdfRequestUnmarkCancelable)( 2450 _In_ 2451 PWDF_DRIVER_GLOBALS DriverGlobals, 2452 _In_ 2453 WDFREQUEST Request 2454 ); 2455 2456 _Must_inspect_result_ 2457 _IRQL_requires_max_(DISPATCH_LEVEL) 2458 WDFAPI 2459 BOOLEAN 2460 VFWDFEXPORT(WdfRequestIsCanceled)( 2461 _In_ 2462 PWDF_DRIVER_GLOBALS DriverGlobals, 2463 _In_ 2464 WDFREQUEST Request 2465 ); 2466 2467 _IRQL_requires_max_(DISPATCH_LEVEL) 2468 WDFAPI 2469 BOOLEAN 2470 VFWDFEXPORT(WdfRequestCancelSentRequest)( 2471 _In_ 2472 PWDF_DRIVER_GLOBALS DriverGlobals, 2473 _In_ 2474 WDFREQUEST Request 2475 ); 2476 2477 _Must_inspect_result_ 2478 _IRQL_requires_max_(APC_LEVEL) 2479 WDFAPI 2480 BOOLEAN 2481 VFWDFEXPORT(WdfRequestIsFrom32BitProcess)( 2482 _In_ 2483 PWDF_DRIVER_GLOBALS DriverGlobals, 2484 _In_ 2485 WDFREQUEST Request 2486 ); 2487 2488 _IRQL_requires_max_(DISPATCH_LEVEL) 2489 WDFAPI 2490 VOID 2491 VFWDFEXPORT(WdfRequestSetCompletionRoutine)( 2492 _In_ 2493 PWDF_DRIVER_GLOBALS DriverGlobals, 2494 _In_ 2495 WDFREQUEST Request, 2496 _In_opt_ 2497 PFN_WDF_REQUEST_COMPLETION_ROUTINE CompletionRoutine, 2498 _In_opt_ __drv_aliasesMem 2499 WDFCONTEXT CompletionContext 2500 ); 2501 2502 _IRQL_requires_max_(DISPATCH_LEVEL) 2503 WDFAPI 2504 VOID 2505 VFWDFEXPORT(WdfRequestGetCompletionParams)( 2506 _In_ 2507 PWDF_DRIVER_GLOBALS DriverGlobals, 2508 _In_ 2509 WDFREQUEST Request, 2510 _Out_ 2511 PWDF_REQUEST_COMPLETION_PARAMS Params 2512 ); 2513 2514 _Must_inspect_result_ 2515 _IRQL_requires_max_(DISPATCH_LEVEL) 2516 WDFAPI 2517 NTSTATUS 2518 VFWDFEXPORT(WdfRequestAllocateTimer)( 2519 _In_ 2520 PWDF_DRIVER_GLOBALS DriverGlobals, 2521 _In_ 2522 WDFREQUEST Request 2523 ); 2524 2525 _IRQL_requires_max_(DISPATCH_LEVEL) 2526 WDFAPI 2527 VOID 2528 VFWDFEXPORT(WdfRequestComplete)( 2529 _In_ 2530 PWDF_DRIVER_GLOBALS DriverGlobals, 2531 _In_ 2532 WDFREQUEST Request, 2533 _In_ 2534 NTSTATUS Status 2535 ); 2536 2537 _IRQL_requires_max_(DISPATCH_LEVEL) 2538 WDFAPI 2539 VOID 2540 VFWDFEXPORT(WdfRequestCompleteWithInformation)( 2541 _In_ 2542 PWDF_DRIVER_GLOBALS DriverGlobals, 2543 _In_ 2544 WDFREQUEST Request, 2545 _In_ 2546 NTSTATUS Status, 2547 _In_ 2548 ULONG_PTR Information 2549 ); 2550 2551 _IRQL_requires_max_(DISPATCH_LEVEL) 2552 WDFAPI 2553 VOID 2554 VFWDFEXPORT(WdfRequestGetParameters)( 2555 _In_ 2556 PWDF_DRIVER_GLOBALS DriverGlobals, 2557 _In_ 2558 WDFREQUEST Request, 2559 _Out_ 2560 PWDF_REQUEST_PARAMETERS Parameters 2561 ); 2562 2563 _Must_inspect_result_ 2564 _IRQL_requires_max_(DISPATCH_LEVEL) 2565 WDFAPI 2566 NTSTATUS 2567 VFWDFEXPORT(WdfRequestRetrieveInputMemory)( 2568 _In_ 2569 PWDF_DRIVER_GLOBALS DriverGlobals, 2570 _In_ 2571 WDFREQUEST Request, 2572 _Out_ 2573 WDFMEMORY* Memory 2574 ); 2575 2576 _Must_inspect_result_ 2577 _IRQL_requires_max_(DISPATCH_LEVEL) 2578 WDFAPI 2579 NTSTATUS 2580 VFWDFEXPORT(WdfRequestRetrieveOutputMemory)( 2581 _In_ 2582 PWDF_DRIVER_GLOBALS DriverGlobals, 2583 _In_ 2584 WDFREQUEST Request, 2585 _Out_ 2586 WDFMEMORY* Memory 2587 ); 2588 2589 _Must_inspect_result_ 2590 _IRQL_requires_max_(DISPATCH_LEVEL) 2591 WDFAPI 2592 NTSTATUS 2593 VFWDFEXPORT(WdfRequestRetrieveInputBuffer)( 2594 _In_ 2595 PWDF_DRIVER_GLOBALS DriverGlobals, 2596 _In_ 2597 WDFREQUEST Request, 2598 _In_ 2599 size_t MinimumRequiredLength, 2600 _Outptr_result_bytebuffer_(*Length) 2601 PVOID* Buffer, 2602 _Out_opt_ 2603 size_t* Length 2604 ); 2605 2606 _Must_inspect_result_ 2607 _IRQL_requires_max_(DISPATCH_LEVEL) 2608 WDFAPI 2609 NTSTATUS 2610 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer)( 2611 _In_ 2612 PWDF_DRIVER_GLOBALS DriverGlobals, 2613 _In_ 2614 WDFREQUEST Request, 2615 _In_ 2616 size_t MinimumRequiredSize, 2617 _Outptr_result_bytebuffer_(*Length) 2618 PVOID* Buffer, 2619 _Out_opt_ 2620 size_t* Length 2621 ); 2622 2623 _IRQL_requires_max_(DISPATCH_LEVEL) 2624 WDFAPI 2625 VOID 2626 VFWDFEXPORT(WdfRequestSetInformation)( 2627 _In_ 2628 PWDF_DRIVER_GLOBALS DriverGlobals, 2629 _In_ 2630 WDFREQUEST Request, 2631 _In_ 2632 ULONG_PTR Information 2633 ); 2634 2635 _IRQL_requires_max_(DISPATCH_LEVEL) 2636 WDFAPI 2637 ULONG_PTR 2638 VFWDFEXPORT(WdfRequestGetInformation)( 2639 _In_ 2640 PWDF_DRIVER_GLOBALS DriverGlobals, 2641 _In_ 2642 WDFREQUEST Request 2643 ); 2644 2645 _IRQL_requires_max_(DISPATCH_LEVEL) 2646 WDFAPI 2647 WDFFILEOBJECT 2648 VFWDFEXPORT(WdfRequestGetFileObject)( 2649 _In_ 2650 PWDF_DRIVER_GLOBALS DriverGlobals, 2651 _In_ 2652 WDFREQUEST Request 2653 ); 2654 2655 _IRQL_requires_max_(DISPATCH_LEVEL) 2656 WDFAPI 2657 KPROCESSOR_MODE 2658 VFWDFEXPORT(WdfRequestGetRequestorMode)( 2659 _In_ 2660 PWDF_DRIVER_GLOBALS DriverGlobals, 2661 _In_ 2662 WDFREQUEST Request 2663 ); 2664 2665 _Must_inspect_result_ 2666 _IRQL_requires_max_(DISPATCH_LEVEL) 2667 WDFAPI 2668 NTSTATUS 2669 VFWDFEXPORT(WdfRequestForwardToIoQueue)( 2670 _In_ 2671 PWDF_DRIVER_GLOBALS DriverGlobals, 2672 _In_ 2673 WDFREQUEST Request, 2674 _In_ 2675 WDFQUEUE DestinationQueue 2676 ); 2677 2678 _IRQL_requires_max_(DISPATCH_LEVEL) 2679 WDFAPI 2680 WDFQUEUE 2681 VFWDFEXPORT(WdfRequestGetIoQueue)( 2682 _In_ 2683 PWDF_DRIVER_GLOBALS DriverGlobals, 2684 _In_ 2685 WDFREQUEST Request 2686 ); 2687 2688 _Must_inspect_result_ 2689 _IRQL_requires_max_(DISPATCH_LEVEL) 2690 WDFAPI 2691 NTSTATUS 2692 VFWDFEXPORT(WdfRequestRequeue)( 2693 _In_ 2694 PWDF_DRIVER_GLOBALS DriverGlobals, 2695 _In_ 2696 WDFREQUEST Request 2697 ); 2698 2699 _IRQL_requires_max_(DISPATCH_LEVEL) 2700 WDFAPI 2701 VOID 2702 VFWDFEXPORT(WdfRequestStopAcknowledge)( 2703 _In_ 2704 PWDF_DRIVER_GLOBALS DriverGlobals, 2705 _In_ 2706 WDFREQUEST Request, 2707 _In_ 2708 BOOLEAN Requeue 2709 ); 2710 2711 _Must_inspect_result_ 2712 _IRQL_requires_max_(PASSIVE_LEVEL) 2713 WDFAPI 2714 NTSTATUS 2715 VFWDFEXPORT(WdfRequestImpersonate)( 2716 _In_ 2717 PWDF_DRIVER_GLOBALS DriverGlobals, 2718 _In_ 2719 WDFREQUEST Request, 2720 _In_ 2721 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, 2722 _In_ 2723 PFN_WDF_REQUEST_IMPERSONATE EvtRequestImpersonate, 2724 _In_opt_ 2725 PVOID Context 2726 ); 2727 2728 _IRQL_requires_max_(PASSIVE_LEVEL) 2729 WDFAPI 2730 ULONG 2731 VFWDFEXPORT(WdfRequestGetRequestorProcessId)( 2732 _In_ 2733 PWDF_DRIVER_GLOBALS DriverGlobals, 2734 _In_ 2735 WDFREQUEST Request 2736 ); 2737 2738 _IRQL_requires_max_(PASSIVE_LEVEL) 2739 WDFAPI 2740 BOOLEAN 2741 VFWDFEXPORT(WdfRequestIsFromUserModeDriver)( 2742 _In_ 2743 PWDF_DRIVER_GLOBALS DriverGlobals, 2744 _In_ 2745 WDFREQUEST Request 2746 ); 2747 2748 _IRQL_requires_max_(PASSIVE_LEVEL) 2749 WDFAPI 2750 VOID 2751 VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo)( 2752 _In_ 2753 PWDF_DRIVER_GLOBALS DriverGlobals, 2754 _In_ 2755 WDFREQUEST Request, 2756 _In_ 2757 BOOLEAN IsUserModeDriverInitiated 2758 ); 2759 2760 _IRQL_requires_max_(PASSIVE_LEVEL) 2761 WDFAPI 2762 BOOLEAN 2763 VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo)( 2764 _In_ 2765 PWDF_DRIVER_GLOBALS DriverGlobals, 2766 _In_ 2767 WDFREQUEST Request 2768 ); 2769 2770 _IRQL_requires_max_(PASSIVE_LEVEL) 2771 WDFAPI 2772 VOID 2773 VFWDFEXPORT(WdfRequestSetActivityId)( 2774 _In_ 2775 PWDF_DRIVER_GLOBALS DriverGlobals, 2776 _In_ 2777 WDFREQUEST Request, 2778 _In_ 2779 LPGUID ActivityId 2780 ); 2781 2782 _IRQL_requires_max_(PASSIVE_LEVEL) 2783 WDFAPI 2784 NTSTATUS 2785 VFWDFEXPORT(WdfRequestRetrieveActivityId)( 2786 _In_ 2787 PWDF_DRIVER_GLOBALS DriverGlobals, 2788 _In_ 2789 WDFREQUEST Request, 2790 _Out_ 2791 LPGUID ActivityId 2792 ); 2793 2794 _IRQL_requires_max_(PASSIVE_LEVEL) 2795 WDFAPI 2796 WDF_DEVICE_IO_TYPE 2797 VFWDFEXPORT(WdfRequestGetEffectiveIoType)( 2798 _In_ 2799 PWDF_DRIVER_GLOBALS DriverGlobals, 2800 _In_ 2801 WDFREQUEST Request 2802 ); 2803 2804 _IRQL_requires_max_(DISPATCH_LEVEL) 2805 WDFAPI 2806 ULONG 2807 VFWDFEXPORT(WdfCmResourceListGetCount)( 2808 _In_ 2809 PWDF_DRIVER_GLOBALS DriverGlobals, 2810 _In_ 2811 WDFCMRESLIST List 2812 ); 2813 2814 _IRQL_requires_max_(DISPATCH_LEVEL) 2815 WDFAPI 2816 PCM_PARTIAL_RESOURCE_DESCRIPTOR 2817 VFWDFEXPORT(WdfCmResourceListGetDescriptor)( 2818 _In_ 2819 PWDF_DRIVER_GLOBALS DriverGlobals, 2820 _In_ 2821 WDFCMRESLIST List, 2822 _In_ 2823 ULONG Index 2824 ); 2825 2826 _Must_inspect_result_ 2827 _IRQL_requires_max_(PASSIVE_LEVEL) 2828 WDFAPI 2829 NTSTATUS 2830 VFWDFEXPORT(WdfStringCreate)( 2831 _In_ 2832 PWDF_DRIVER_GLOBALS DriverGlobals, 2833 _In_opt_ 2834 PCUNICODE_STRING UnicodeString, 2835 _In_opt_ 2836 PWDF_OBJECT_ATTRIBUTES StringAttributes, 2837 _Out_ 2838 WDFSTRING* String 2839 ); 2840 2841 _IRQL_requires_max_(PASSIVE_LEVEL) 2842 WDFAPI 2843 VOID 2844 VFWDFEXPORT(WdfStringGetUnicodeString)( 2845 _In_ 2846 PWDF_DRIVER_GLOBALS DriverGlobals, 2847 _In_ 2848 WDFSTRING String, 2849 _Out_ 2850 PUNICODE_STRING UnicodeString 2851 ); 2852 2853 _IRQL_requires_max_(DISPATCH_LEVEL) 2854 WDFAPI 2855 VOID 2856 VFWDFEXPORT(WdfObjectAcquireLock)( 2857 _In_ 2858 PWDF_DRIVER_GLOBALS DriverGlobals, 2859 _In_ 2860 _Requires_lock_not_held_(_Curr_) 2861 _Acquires_lock_(_Curr_) 2862 WDFOBJECT Object 2863 ); 2864 2865 _IRQL_requires_max_(DISPATCH_LEVEL) 2866 WDFAPI 2867 VOID 2868 VFWDFEXPORT(WdfObjectReleaseLock)( 2869 _In_ 2870 PWDF_DRIVER_GLOBALS DriverGlobals, 2871 _In_ 2872 _Requires_lock_held_(_Curr_) 2873 _Releases_lock_(_Curr_) 2874 WDFOBJECT Object 2875 ); 2876 2877 _Must_inspect_result_ 2878 _IRQL_requires_max_(DISPATCH_LEVEL) 2879 WDFAPI 2880 NTSTATUS 2881 VFWDFEXPORT(WdfWaitLockCreate)( 2882 _In_ 2883 PWDF_DRIVER_GLOBALS DriverGlobals, 2884 _In_opt_ 2885 PWDF_OBJECT_ATTRIBUTES LockAttributes, 2886 _Out_ 2887 WDFWAITLOCK* Lock 2888 ); 2889 2890 _When_(Timeout == NULL, _IRQL_requires_max_(PASSIVE_LEVEL)) 2891 _When_(Timeout != NULL && *Timeout == 0, _IRQL_requires_max_(DISPATCH_LEVEL)) 2892 _When_(Timeout != NULL && *Timeout != 0, _IRQL_requires_max_(PASSIVE_LEVEL)) 2893 _Always_(_When_(Timeout == NULL, _Acquires_lock_(Lock))) 2894 _When_(Timeout != NULL && return == STATUS_SUCCESS, _Acquires_lock_(Lock)) 2895 _When_(Timeout != NULL, _Must_inspect_result_) 2896 WDFAPI 2897 NTSTATUS 2898 VFWDFEXPORT(WdfWaitLockAcquire)( 2899 _In_ 2900 PWDF_DRIVER_GLOBALS DriverGlobals, 2901 _In_ 2902 _Requires_lock_not_held_(_Curr_) 2903 WDFWAITLOCK Lock, 2904 _In_opt_ 2905 PLONGLONG Timeout 2906 ); 2907 2908 _IRQL_requires_max_(DISPATCH_LEVEL) 2909 WDFAPI 2910 VOID 2911 VFWDFEXPORT(WdfWaitLockRelease)( 2912 _In_ 2913 PWDF_DRIVER_GLOBALS DriverGlobals, 2914 _In_ 2915 _Requires_lock_held_(_Curr_) 2916 _Releases_lock_(_Curr_) 2917 WDFWAITLOCK Lock 2918 ); 2919 2920 _Must_inspect_result_ 2921 _IRQL_requires_max_(DISPATCH_LEVEL) 2922 WDFAPI 2923 NTSTATUS 2924 VFWDFEXPORT(WdfSpinLockCreate)( 2925 _In_ 2926 PWDF_DRIVER_GLOBALS DriverGlobals, 2927 _In_opt_ 2928 PWDF_OBJECT_ATTRIBUTES SpinLockAttributes, 2929 _Out_ 2930 WDFSPINLOCK* SpinLock 2931 ); 2932 2933 _IRQL_requires_max_(DISPATCH_LEVEL) 2934 _IRQL_raises_(DISPATCH_LEVEL) 2935 WDFAPI 2936 VOID 2937 VFWDFEXPORT(WdfSpinLockAcquire)( 2938 _In_ 2939 PWDF_DRIVER_GLOBALS DriverGlobals, 2940 _In_ 2941 _Requires_lock_not_held_(_Curr_) 2942 _Acquires_lock_(_Curr_) 2943 _IRQL_saves_ 2944 WDFSPINLOCK SpinLock 2945 ); 2946 2947 _IRQL_requires_max_(DISPATCH_LEVEL) 2948 _IRQL_requires_min_(DISPATCH_LEVEL) 2949 WDFAPI 2950 VOID 2951 VFWDFEXPORT(WdfSpinLockRelease)( 2952 _In_ 2953 PWDF_DRIVER_GLOBALS DriverGlobals, 2954 _In_ 2955 _Requires_lock_held_(_Curr_) 2956 _Releases_lock_(_Curr_) 2957 _IRQL_restores_ 2958 WDFSPINLOCK SpinLock 2959 ); 2960 2961 _Must_inspect_result_ 2962 _IRQL_requires_max_(DISPATCH_LEVEL) 2963 WDFAPI 2964 NTSTATUS 2965 VFWDFEXPORT(WdfTimerCreate)( 2966 _In_ 2967 PWDF_DRIVER_GLOBALS DriverGlobals, 2968 _In_ 2969 PWDF_TIMER_CONFIG Config, 2970 _In_ 2971 PWDF_OBJECT_ATTRIBUTES Attributes, 2972 _Out_ 2973 WDFTIMER* Timer 2974 ); 2975 2976 _IRQL_requires_max_(DISPATCH_LEVEL) 2977 WDFAPI 2978 BOOLEAN 2979 VFWDFEXPORT(WdfTimerStart)( 2980 _In_ 2981 PWDF_DRIVER_GLOBALS DriverGlobals, 2982 _In_ 2983 WDFTIMER Timer, 2984 _In_ 2985 LONGLONG DueTime 2986 ); 2987 2988 _When_(Wait == __true, _IRQL_requires_max_(PASSIVE_LEVEL)) 2989 _When_(Wait == __false, _IRQL_requires_max_(DISPATCH_LEVEL)) 2990 WDFAPI 2991 BOOLEAN 2992 VFWDFEXPORT(WdfTimerStop)( 2993 _In_ 2994 PWDF_DRIVER_GLOBALS DriverGlobals, 2995 _In_ 2996 WDFTIMER Timer, 2997 _In_ 2998 BOOLEAN Wait 2999 ); 3000 3001 _IRQL_requires_max_(DISPATCH_LEVEL) 3002 WDFAPI 3003 WDFOBJECT 3004 VFWDFEXPORT(WdfTimerGetParentObject)( 3005 _In_ 3006 PWDF_DRIVER_GLOBALS DriverGlobals, 3007 _In_ 3008 WDFTIMER Timer 3009 ); 3010 3011 _Must_inspect_result_ 3012 _IRQL_requires_max_(PASSIVE_LEVEL) 3013 WDFAPI 3014 NTSTATUS 3015 VFWDFEXPORT(WdfUsbTargetDeviceCreate)( 3016 _In_ 3017 PWDF_DRIVER_GLOBALS DriverGlobals, 3018 _In_ 3019 WDFDEVICE Device, 3020 _In_opt_ 3021 PWDF_OBJECT_ATTRIBUTES Attributes, 3022 _Out_ 3023 WDFUSBDEVICE* UsbDevice 3024 ); 3025 3026 _Must_inspect_result_ 3027 _IRQL_requires_max_(PASSIVE_LEVEL) 3028 WDFAPI 3029 NTSTATUS 3030 VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters)( 3031 _In_ 3032 PWDF_DRIVER_GLOBALS DriverGlobals, 3033 _In_ 3034 WDFDEVICE Device, 3035 _In_ 3036 PWDF_USB_DEVICE_CREATE_CONFIG Config, 3037 _In_opt_ 3038 PWDF_OBJECT_ATTRIBUTES Attributes, 3039 _Out_ 3040 WDFUSBDEVICE* UsbDevice 3041 ); 3042 3043 _Must_inspect_result_ 3044 _IRQL_requires_max_(DISPATCH_LEVEL) 3045 WDFAPI 3046 NTSTATUS 3047 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation)( 3048 _In_ 3049 PWDF_DRIVER_GLOBALS DriverGlobals, 3050 _In_ 3051 WDFUSBDEVICE UsbDevice, 3052 _Out_ 3053 PWDF_USB_DEVICE_INFORMATION Information 3054 ); 3055 3056 _IRQL_requires_max_(PASSIVE_LEVEL) 3057 WDFAPI 3058 VOID 3059 VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor)( 3060 _In_ 3061 PWDF_DRIVER_GLOBALS DriverGlobals, 3062 _In_ 3063 WDFUSBDEVICE UsbDevice, 3064 _Out_ 3065 PUSB_DEVICE_DESCRIPTOR UsbDeviceDescriptor 3066 ); 3067 3068 _Must_inspect_result_ 3069 _IRQL_requires_max_(PASSIVE_LEVEL) 3070 WDFAPI 3071 NTSTATUS 3072 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor)( 3073 _In_ 3074 PWDF_DRIVER_GLOBALS DriverGlobals, 3075 _In_ 3076 WDFUSBDEVICE UsbDevice, 3077 _Out_writes_bytes_to_opt_(*ConfigDescriptorLength,*ConfigDescriptorLength) 3078 PVOID ConfigDescriptor, 3079 _Inout_ 3080 PUSHORT ConfigDescriptorLength 3081 ); 3082 3083 _Must_inspect_result_ 3084 _IRQL_requires_max_(PASSIVE_LEVEL) 3085 WDFAPI 3086 NTSTATUS 3087 VFWDFEXPORT(WdfUsbTargetDeviceQueryString)( 3088 _In_ 3089 PWDF_DRIVER_GLOBALS DriverGlobals, 3090 _In_ 3091 WDFUSBDEVICE UsbDevice, 3092 _In_opt_ 3093 WDFREQUEST Request, 3094 _In_opt_ 3095 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3096 _Out_writes_opt_(*NumCharacters) 3097 PUSHORT String, 3098 _Inout_ 3099 PUSHORT NumCharacters, 3100 _In_ 3101 UCHAR StringIndex, 3102 _In_opt_ 3103 USHORT LangID 3104 ); 3105 3106 _Must_inspect_result_ 3107 _IRQL_requires_max_(PASSIVE_LEVEL) 3108 WDFAPI 3109 NTSTATUS 3110 VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString)( 3111 _In_ 3112 PWDF_DRIVER_GLOBALS DriverGlobals, 3113 _In_ 3114 WDFUSBDEVICE UsbDevice, 3115 _In_opt_ 3116 PWDF_OBJECT_ATTRIBUTES StringMemoryAttributes, 3117 _Out_ 3118 WDFMEMORY* StringMemory, 3119 _Out_opt_ 3120 PUSHORT NumCharacters, 3121 _In_ 3122 UCHAR StringIndex, 3123 _In_opt_ 3124 USHORT LangID 3125 ); 3126 3127 _Must_inspect_result_ 3128 _IRQL_requires_max_(DISPATCH_LEVEL) 3129 WDFAPI 3130 NTSTATUS 3131 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString)( 3132 _In_ 3133 PWDF_DRIVER_GLOBALS DriverGlobals, 3134 _In_ 3135 WDFUSBDEVICE UsbDevice, 3136 _In_ 3137 WDFREQUEST Request, 3138 _In_ 3139 WDFMEMORY Memory, 3140 _In_opt_ 3141 PWDFMEMORY_OFFSET Offset, 3142 _In_ 3143 UCHAR StringIndex, 3144 _In_opt_ 3145 USHORT LangID 3146 ); 3147 3148 _IRQL_requires_max_(DISPATCH_LEVEL) 3149 WDFAPI 3150 UCHAR 3151 VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces)( 3152 _In_ 3153 PWDF_DRIVER_GLOBALS DriverGlobals, 3154 _In_ 3155 WDFUSBDEVICE UsbDevice 3156 ); 3157 3158 _Must_inspect_result_ 3159 _IRQL_requires_max_(PASSIVE_LEVEL) 3160 WDFAPI 3161 NTSTATUS 3162 VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig)( 3163 _In_ 3164 PWDF_DRIVER_GLOBALS DriverGlobals, 3165 _In_ 3166 WDFUSBDEVICE UsbDevice, 3167 _In_opt_ 3168 PWDF_OBJECT_ATTRIBUTES PipeAttributes, 3169 _Inout_ 3170 PWDF_USB_DEVICE_SELECT_CONFIG_PARAMS Params 3171 ); 3172 3173 _Must_inspect_result_ 3174 _IRQL_requires_max_(PASSIVE_LEVEL) 3175 WDFAPI 3176 NTSTATUS 3177 VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously)( 3178 _In_ 3179 PWDF_DRIVER_GLOBALS DriverGlobals, 3180 _In_ 3181 WDFUSBDEVICE UsbDevice, 3182 _In_opt_ 3183 WDFREQUEST Request, 3184 _In_opt_ 3185 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3186 _In_ 3187 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 3188 _In_opt_ 3189 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 3190 _Out_opt_ 3191 PULONG BytesTransferred 3192 ); 3193 3194 _Must_inspect_result_ 3195 _IRQL_requires_max_(DISPATCH_LEVEL) 3196 WDFAPI 3197 NTSTATUS 3198 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer)( 3199 _In_ 3200 PWDF_DRIVER_GLOBALS DriverGlobals, 3201 _In_ 3202 WDFUSBDEVICE UsbDevice, 3203 _In_ 3204 WDFREQUEST Request, 3205 _In_ 3206 PWDF_USB_CONTROL_SETUP_PACKET SetupPacket, 3207 _In_opt_ 3208 WDFMEMORY TransferMemory, 3209 _In_opt_ 3210 PWDFMEMORY_OFFSET TransferOffset 3211 ); 3212 3213 _Must_inspect_result_ 3214 _IRQL_requires_max_(PASSIVE_LEVEL) 3215 WDFAPI 3216 NTSTATUS 3217 VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously)( 3218 _In_ 3219 PWDF_DRIVER_GLOBALS DriverGlobals, 3220 _In_ 3221 WDFUSBDEVICE UsbDevice 3222 ); 3223 3224 _Must_inspect_result_ 3225 _IRQL_requires_max_(PASSIVE_LEVEL) 3226 WDFAPI 3227 NTSTATUS 3228 VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability)( 3229 _In_ 3230 PWDF_DRIVER_GLOBALS DriverGlobals, 3231 _In_ 3232 WDFUSBDEVICE UsbDevice, 3233 _In_ 3234 CONST GUID* CapabilityType, 3235 _In_ 3236 ULONG CapabilityBufferLength, 3237 _When_(CapabilityBufferLength == 0, _Out_opt_) 3238 _When_(CapabilityBufferLength != 0 && ResultLength == NULL, _Out_writes_bytes_(CapabilityBufferLength)) 3239 _When_(CapabilityBufferLength != 0 && ResultLength != NULL, _Out_writes_bytes_to_opt_(CapabilityBufferLength, *ResultLength)) 3240 PVOID CapabilityBuffer, 3241 _Out_opt_ 3242 _When_(ResultLength != NULL,_Deref_out_range_(<=,CapabilityBufferLength)) 3243 PULONG ResultLength 3244 ); 3245 3246 _IRQL_requires_max_(DISPATCH_LEVEL) 3247 WDFAPI 3248 VOID 3249 VFWDFEXPORT(WdfUsbTargetPipeGetInformation)( 3250 _In_ 3251 PWDF_DRIVER_GLOBALS DriverGlobals, 3252 _In_ 3253 WDFUSBPIPE Pipe, 3254 _Out_ 3255 PWDF_USB_PIPE_INFORMATION PipeInformation 3256 ); 3257 3258 _IRQL_requires_max_(DISPATCH_LEVEL) 3259 WDFAPI 3260 BOOLEAN 3261 VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint)( 3262 _In_ 3263 PWDF_DRIVER_GLOBALS DriverGlobals, 3264 _In_ 3265 WDFUSBPIPE Pipe 3266 ); 3267 3268 _IRQL_requires_max_(DISPATCH_LEVEL) 3269 WDFAPI 3270 BOOLEAN 3271 VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint)( 3272 _In_ 3273 PWDF_DRIVER_GLOBALS DriverGlobals, 3274 _In_ 3275 WDFUSBPIPE Pipe 3276 ); 3277 3278 _IRQL_requires_max_(DISPATCH_LEVEL) 3279 WDFAPI 3280 WDF_USB_PIPE_TYPE 3281 VFWDFEXPORT(WdfUsbTargetPipeGetType)( 3282 _In_ 3283 PWDF_DRIVER_GLOBALS DriverGlobals, 3284 _In_ 3285 WDFUSBPIPE Pipe 3286 ); 3287 3288 _IRQL_requires_max_(DISPATCH_LEVEL) 3289 WDFAPI 3290 VOID 3291 VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck)( 3292 _In_ 3293 PWDF_DRIVER_GLOBALS DriverGlobals, 3294 _In_ 3295 WDFUSBPIPE Pipe 3296 ); 3297 3298 _Must_inspect_result_ 3299 _IRQL_requires_max_(PASSIVE_LEVEL) 3300 WDFAPI 3301 NTSTATUS 3302 VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously)( 3303 _In_ 3304 PWDF_DRIVER_GLOBALS DriverGlobals, 3305 _In_ 3306 WDFUSBPIPE Pipe, 3307 _In_opt_ 3308 WDFREQUEST Request, 3309 _In_opt_ 3310 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3311 _In_opt_ 3312 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 3313 _Out_opt_ 3314 PULONG BytesWritten 3315 ); 3316 3317 _Must_inspect_result_ 3318 _IRQL_requires_max_(DISPATCH_LEVEL) 3319 WDFAPI 3320 NTSTATUS 3321 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite)( 3322 _In_ 3323 PWDF_DRIVER_GLOBALS DriverGlobals, 3324 _In_ 3325 WDFUSBPIPE Pipe, 3326 _In_ 3327 WDFREQUEST Request, 3328 _In_opt_ 3329 WDFMEMORY WriteMemory, 3330 _In_opt_ 3331 PWDFMEMORY_OFFSET WriteOffset 3332 ); 3333 3334 _Must_inspect_result_ 3335 _IRQL_requires_max_(PASSIVE_LEVEL) 3336 WDFAPI 3337 NTSTATUS 3338 VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously)( 3339 _In_ 3340 PWDF_DRIVER_GLOBALS DriverGlobals, 3341 _In_ 3342 WDFUSBPIPE Pipe, 3343 _In_opt_ 3344 WDFREQUEST Request, 3345 _In_opt_ 3346 PWDF_REQUEST_SEND_OPTIONS RequestOptions, 3347 _In_opt_ 3348 PWDF_MEMORY_DESCRIPTOR MemoryDescriptor, 3349 _Out_opt_ 3350 PULONG BytesRead 3351 ); 3352 3353 _Must_inspect_result_ 3354 _IRQL_requires_max_(DISPATCH_LEVEL) 3355 WDFAPI 3356 NTSTATUS 3357 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead)( 3358 _In_ 3359 PWDF_DRIVER_GLOBALS DriverGlobals, 3360 _In_ 3361 WDFUSBPIPE Pipe, 3362 _In_ 3363 WDFREQUEST Request, 3364 _In_opt_ 3365 WDFMEMORY ReadMemory, 3366 _In_opt_ 3367 PWDFMEMORY_OFFSET ReadOffset 3368 ); 3369 3370 _Must_inspect_result_ 3371 _IRQL_requires_max_(DISPATCH_LEVEL) 3372 WDFAPI 3373 NTSTATUS 3374 VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader)( 3375 _In_ 3376 PWDF_DRIVER_GLOBALS DriverGlobals, 3377 _In_ 3378 WDFUSBPIPE Pipe, 3379 _In_ 3380 PWDF_USB_CONTINUOUS_READER_CONFIG Config 3381 ); 3382 3383 _Must_inspect_result_ 3384 _IRQL_requires_max_(PASSIVE_LEVEL) 3385 WDFAPI 3386 NTSTATUS 3387 VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously)( 3388 _In_ 3389 PWDF_DRIVER_GLOBALS DriverGlobals, 3390 _In_ 3391 WDFUSBPIPE Pipe, 3392 _In_opt_ 3393 WDFREQUEST Request, 3394 _In_opt_ 3395 PWDF_REQUEST_SEND_OPTIONS RequestOptions 3396 ); 3397 3398 _Must_inspect_result_ 3399 _IRQL_requires_max_(DISPATCH_LEVEL) 3400 WDFAPI 3401 NTSTATUS 3402 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort)( 3403 _In_ 3404 PWDF_DRIVER_GLOBALS DriverGlobals, 3405 _In_ 3406 WDFUSBPIPE Pipe, 3407 _In_ 3408 WDFREQUEST Request 3409 ); 3410 3411 _Must_inspect_result_ 3412 _IRQL_requires_max_(PASSIVE_LEVEL) 3413 WDFAPI 3414 NTSTATUS 3415 VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously)( 3416 _In_ 3417 PWDF_DRIVER_GLOBALS DriverGlobals, 3418 _In_ 3419 WDFUSBPIPE Pipe, 3420 _In_opt_ 3421 WDFREQUEST Request, 3422 _In_opt_ 3423 PWDF_REQUEST_SEND_OPTIONS RequestOptions 3424 ); 3425 3426 _Must_inspect_result_ 3427 _IRQL_requires_max_(DISPATCH_LEVEL) 3428 WDFAPI 3429 NTSTATUS 3430 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset)( 3431 _In_ 3432 PWDF_DRIVER_GLOBALS DriverGlobals, 3433 _In_ 3434 WDFUSBPIPE Pipe, 3435 _In_ 3436 WDFREQUEST Request 3437 ); 3438 3439 _IRQL_requires_max_(DISPATCH_LEVEL) 3440 WDFAPI 3441 BYTE 3442 VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber)( 3443 _In_ 3444 PWDF_DRIVER_GLOBALS DriverGlobals, 3445 _In_ 3446 WDFUSBINTERFACE UsbInterface 3447 ); 3448 3449 _IRQL_requires_max_(DISPATCH_LEVEL) 3450 WDFAPI 3451 BYTE 3452 VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints)( 3453 _In_ 3454 PWDF_DRIVER_GLOBALS DriverGlobals, 3455 _In_ 3456 WDFUSBINTERFACE UsbInterface, 3457 _In_ 3458 UCHAR SettingIndex 3459 ); 3460 3461 _IRQL_requires_max_(DISPATCH_LEVEL) 3462 WDFAPI 3463 VOID 3464 VFWDFEXPORT(WdfUsbInterfaceGetDescriptor)( 3465 _In_ 3466 PWDF_DRIVER_GLOBALS DriverGlobals, 3467 _In_ 3468 WDFUSBINTERFACE UsbInterface, 3469 _In_ 3470 UCHAR SettingIndex, 3471 _Out_ 3472 PUSB_INTERFACE_DESCRIPTOR InterfaceDescriptor 3473 ); 3474 3475 _IRQL_requires_max_(DISPATCH_LEVEL) 3476 WDFAPI 3477 BYTE 3478 VFWDFEXPORT(WdfUsbInterfaceGetNumSettings)( 3479 _In_ 3480 PWDF_DRIVER_GLOBALS DriverGlobals, 3481 _In_ 3482 WDFUSBINTERFACE UsbInterface 3483 ); 3484 3485 _Must_inspect_result_ 3486 _IRQL_requires_max_(PASSIVE_LEVEL) 3487 WDFAPI 3488 NTSTATUS 3489 VFWDFEXPORT(WdfUsbInterfaceSelectSetting)( 3490 _In_ 3491 PWDF_DRIVER_GLOBALS DriverGlobals, 3492 _In_ 3493 WDFUSBINTERFACE UsbInterface, 3494 _In_opt_ 3495 PWDF_OBJECT_ATTRIBUTES PipesAttributes, 3496 _In_ 3497 PWDF_USB_INTERFACE_SELECT_SETTING_PARAMS Params 3498 ); 3499 3500 _IRQL_requires_max_(DISPATCH_LEVEL) 3501 WDFAPI 3502 VOID 3503 VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation)( 3504 _In_ 3505 PWDF_DRIVER_GLOBALS DriverGlobals, 3506 _In_ 3507 WDFUSBINTERFACE UsbInterface, 3508 _In_ 3509 UCHAR SettingIndex, 3510 _In_ 3511 UCHAR EndpointIndex, 3512 _Out_ 3513 PWDF_USB_PIPE_INFORMATION EndpointInfo 3514 ); 3515 3516 _IRQL_requires_max_(DISPATCH_LEVEL) 3517 WDFAPI 3518 WDFUSBINTERFACE 3519 VFWDFEXPORT(WdfUsbTargetDeviceGetInterface)( 3520 _In_ 3521 PWDF_DRIVER_GLOBALS DriverGlobals, 3522 _In_ 3523 WDFUSBDEVICE UsbDevice, 3524 _In_ 3525 UCHAR InterfaceIndex 3526 ); 3527 3528 _IRQL_requires_max_(DISPATCH_LEVEL) 3529 WDFAPI 3530 BYTE 3531 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex)( 3532 _In_ 3533 PWDF_DRIVER_GLOBALS DriverGlobals, 3534 _In_ 3535 WDFUSBINTERFACE Interface 3536 ); 3537 3538 _IRQL_requires_max_(DISPATCH_LEVEL) 3539 WDFAPI 3540 BYTE 3541 VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes)( 3542 _In_ 3543 PWDF_DRIVER_GLOBALS DriverGlobals, 3544 _In_ 3545 WDFUSBINTERFACE UsbInterface 3546 ); 3547 3548 _IRQL_requires_max_(DISPATCH_LEVEL) 3549 WDFAPI 3550 WDFUSBPIPE 3551 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe)( 3552 _In_ 3553 PWDF_DRIVER_GLOBALS DriverGlobals, 3554 _In_ 3555 WDFUSBINTERFACE UsbInterface, 3556 _In_ 3557 UCHAR PipeIndex, 3558 _Out_opt_ 3559 PWDF_USB_PIPE_INFORMATION PipeInfo 3560 ); 3561 3562 WDFAPI 3563 VOID 3564 VFWDFEXPORT(WdfVerifierDbgBreakPoint)( 3565 _In_ 3566 PWDF_DRIVER_GLOBALS DriverGlobals 3567 ); 3568 3569 WDFAPI 3570 VOID 3571 VFWDFEXPORT(WdfVerifierKeBugCheck)( 3572 _In_ 3573 PWDF_DRIVER_GLOBALS DriverGlobals, 3574 _In_ 3575 ULONG BugCheckCode, 3576 _In_ 3577 ULONG_PTR BugCheckParameter1, 3578 _In_ 3579 ULONG_PTR BugCheckParameter2, 3580 _In_ 3581 ULONG_PTR BugCheckParameter3, 3582 _In_ 3583 ULONG_PTR BugCheckParameter4 3584 ); 3585 3586 WDFAPI 3587 PVOID 3588 VFWDFEXPORT(WdfGetTriageInfo)( 3589 _In_ 3590 PWDF_DRIVER_GLOBALS DriverGlobals 3591 ); 3592 3593 _Must_inspect_result_ 3594 _IRQL_requires_max_(DISPATCH_LEVEL) 3595 WDFAPI 3596 NTSTATUS 3597 VFWDFEXPORT(WdfWorkItemCreate)( 3598 _In_ 3599 PWDF_DRIVER_GLOBALS DriverGlobals, 3600 _In_ 3601 PWDF_WORKITEM_CONFIG Config, 3602 _In_ 3603 PWDF_OBJECT_ATTRIBUTES Attributes, 3604 _Out_ 3605 WDFWORKITEM* WorkItem 3606 ); 3607 3608 _IRQL_requires_max_(DISPATCH_LEVEL) 3609 WDFAPI 3610 VOID 3611 VFWDFEXPORT(WdfWorkItemEnqueue)( 3612 _In_ 3613 PWDF_DRIVER_GLOBALS DriverGlobals, 3614 _In_ 3615 WDFWORKITEM WorkItem 3616 ); 3617 3618 _IRQL_requires_max_(DISPATCH_LEVEL) 3619 WDFAPI 3620 WDFOBJECT 3621 VFWDFEXPORT(WdfWorkItemGetParentObject)( 3622 _In_ 3623 PWDF_DRIVER_GLOBALS DriverGlobals, 3624 _In_ 3625 WDFWORKITEM WorkItem 3626 ); 3627 3628 _IRQL_requires_max_(PASSIVE_LEVEL) 3629 WDFAPI 3630 VOID 3631 VFWDFEXPORT(WdfWorkItemFlush)( 3632 _In_ 3633 PWDF_DRIVER_GLOBALS DriverGlobals, 3634 _In_ 3635 WDFWORKITEM WorkItem 3636 ); 3637 3638 3639 #ifdef VF_FX_DYNAMICS_GENERATE_TABLE 3640 3641 WDFVERSION VfWdfVersion = { 3642 sizeof(WDFVERSION), 3643 sizeof(WDFFUNCTIONS)/sizeof(PVOID), 3644 { 3645 VFWDFEXPORT(WdfCollectionCreate), 3646 VFWDFEXPORT(WdfCollectionGetCount), 3647 VFWDFEXPORT(WdfCollectionAdd), 3648 VFWDFEXPORT(WdfCollectionRemove), 3649 VFWDFEXPORT(WdfCollectionRemoveItem), 3650 VFWDFEXPORT(WdfCollectionGetItem), 3651 VFWDFEXPORT(WdfCollectionGetFirstItem), 3652 VFWDFEXPORT(WdfCollectionGetLastItem), 3653 VFWDFEXPORT(WdfCxDeviceInitAllocate), 3654 VFWDFEXPORT(WdfCxDeviceInitSetRequestAttributes), 3655 VFWDFEXPORT(WdfCxDeviceInitSetFileObjectConfig), 3656 VFWDFEXPORT(WdfCxVerifierKeBugCheck), 3657 VFWDFEXPORT(WdfDeviceGetDeviceState), 3658 VFWDFEXPORT(WdfDeviceSetDeviceState), 3659 VFWDFEXPORT(WdfDeviceGetDriver), 3660 VFWDFEXPORT(WdfDeviceGetIoTarget), 3661 VFWDFEXPORT(WdfDeviceAssignS0IdleSettings), 3662 VFWDFEXPORT(WdfDeviceAssignSxWakeSettings), 3663 VFWDFEXPORT(WdfDeviceOpenRegistryKey), 3664 VFWDFEXPORT(WdfDeviceInitSetPnpPowerEventCallbacks), 3665 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyEventCallbacks), 3666 VFWDFEXPORT(WdfDeviceInitSetPowerPolicyOwnership), 3667 VFWDFEXPORT(WdfDeviceInitSetIoType), 3668 VFWDFEXPORT(WdfDeviceInitSetFileObjectConfig), 3669 VFWDFEXPORT(WdfDeviceInitSetRequestAttributes), 3670 VFWDFEXPORT(WdfDeviceCreate), 3671 VFWDFEXPORT(WdfDeviceSetStaticStopRemove), 3672 VFWDFEXPORT(WdfDeviceCreateDeviceInterface), 3673 VFWDFEXPORT(WdfDeviceSetDeviceInterfaceState), 3674 VFWDFEXPORT(WdfDeviceRetrieveDeviceInterfaceString), 3675 VFWDFEXPORT(WdfDeviceCreateSymbolicLink), 3676 VFWDFEXPORT(WdfDeviceQueryProperty), 3677 VFWDFEXPORT(WdfDeviceAllocAndQueryProperty), 3678 VFWDFEXPORT(WdfDeviceSetPnpCapabilities), 3679 VFWDFEXPORT(WdfDeviceSetPowerCapabilities), 3680 VFWDFEXPORT(WdfDeviceSetFailed), 3681 VFWDFEXPORT(WdfDeviceStopIdleNoTrack), 3682 VFWDFEXPORT(WdfDeviceResumeIdleNoTrack), 3683 VFWDFEXPORT(WdfDeviceGetFileObject), 3684 VFWDFEXPORT(WdfDeviceGetDefaultQueue), 3685 VFWDFEXPORT(WdfDeviceConfigureRequestDispatching), 3686 VFWDFEXPORT(WdfDeviceGetSystemPowerAction), 3687 VFWDFEXPORT(WdfDeviceInitSetReleaseHardwareOrderOnFailure), 3688 VFWDFEXPORT(WdfDeviceInitSetIoTypeEx), 3689 VFWDFEXPORT(WdfDevicePostEvent), 3690 VFWDFEXPORT(WdfDeviceMapIoSpace), 3691 VFWDFEXPORT(WdfDeviceUnmapIoSpace), 3692 VFWDFEXPORT(WdfDeviceGetHardwareRegisterMappedAddress), 3693 VFWDFEXPORT(WdfDeviceReadFromHardware), 3694 VFWDFEXPORT(WdfDeviceWriteToHardware), 3695 VFWDFEXPORT(WdfDeviceAssignInterfaceProperty), 3696 VFWDFEXPORT(WdfDeviceAllocAndQueryInterfaceProperty), 3697 VFWDFEXPORT(WdfDeviceQueryInterfaceProperty), 3698 VFWDFEXPORT(WdfDeviceGetDeviceStackIoType), 3699 VFWDFEXPORT(WdfDeviceQueryPropertyEx), 3700 VFWDFEXPORT(WdfDeviceAllocAndQueryPropertyEx), 3701 VFWDFEXPORT(WdfDeviceAssignProperty), 3702 VFWDFEXPORT(WdfDriverCreate), 3703 VFWDFEXPORT(WdfDriverGetRegistryPath), 3704 VFWDFEXPORT(WdfDriverOpenParametersRegistryKey), 3705 VFWDFEXPORT(WdfDriverRetrieveVersionString), 3706 VFWDFEXPORT(WdfDriverIsVersionAvailable), 3707 VFWDFEXPORT(WdfFdoInitOpenRegistryKey), 3708 VFWDFEXPORT(WdfFdoInitQueryProperty), 3709 VFWDFEXPORT(WdfFdoInitAllocAndQueryProperty), 3710 VFWDFEXPORT(WdfFdoInitQueryPropertyEx), 3711 VFWDFEXPORT(WdfFdoInitAllocAndQueryPropertyEx), 3712 VFWDFEXPORT(WdfFdoInitSetFilter), 3713 VFWDFEXPORT(WdfFileObjectGetFileName), 3714 VFWDFEXPORT(WdfFileObjectGetDevice), 3715 VFWDFEXPORT(WdfFileObjectGetInitiatorProcessId), 3716 VFWDFEXPORT(WdfFileObjectGetRelatedFileObject), 3717 VFWDFEXPORT(WdfInterruptCreate), 3718 VFWDFEXPORT(WdfInterruptQueueDpcForIsr), 3719 VFWDFEXPORT(WdfInterruptQueueWorkItemForIsr), 3720 VFWDFEXPORT(WdfInterruptSynchronize), 3721 VFWDFEXPORT(WdfInterruptAcquireLock), 3722 VFWDFEXPORT(WdfInterruptReleaseLock), 3723 VFWDFEXPORT(WdfInterruptEnable), 3724 VFWDFEXPORT(WdfInterruptDisable), 3725 VFWDFEXPORT(WdfInterruptGetInfo), 3726 VFWDFEXPORT(WdfInterruptSetPolicy), 3727 VFWDFEXPORT(WdfInterruptSetExtendedPolicy), 3728 VFWDFEXPORT(WdfInterruptGetDevice), 3729 VFWDFEXPORT(WdfInterruptTryToAcquireLock), 3730 VFWDFEXPORT(WdfIoQueueCreate), 3731 VFWDFEXPORT(WdfIoQueueGetState), 3732 VFWDFEXPORT(WdfIoQueueStart), 3733 VFWDFEXPORT(WdfIoQueueStop), 3734 VFWDFEXPORT(WdfIoQueueStopSynchronously), 3735 VFWDFEXPORT(WdfIoQueueGetDevice), 3736 VFWDFEXPORT(WdfIoQueueRetrieveNextRequest), 3737 VFWDFEXPORT(WdfIoQueueRetrieveRequestByFileObject), 3738 VFWDFEXPORT(WdfIoQueueFindRequest), 3739 VFWDFEXPORT(WdfIoQueueRetrieveFoundRequest), 3740 VFWDFEXPORT(WdfIoQueueDrainSynchronously), 3741 VFWDFEXPORT(WdfIoQueueDrain), 3742 VFWDFEXPORT(WdfIoQueuePurgeSynchronously), 3743 VFWDFEXPORT(WdfIoQueuePurge), 3744 VFWDFEXPORT(WdfIoQueueReadyNotify), 3745 VFWDFEXPORT(WdfIoQueueStopAndPurge), 3746 VFWDFEXPORT(WdfIoQueueStopAndPurgeSynchronously), 3747 VFWDFEXPORT(WdfIoTargetCreate), 3748 VFWDFEXPORT(WdfIoTargetOpen), 3749 VFWDFEXPORT(WdfIoTargetCloseForQueryRemove), 3750 VFWDFEXPORT(WdfIoTargetClose), 3751 VFWDFEXPORT(WdfIoTargetStart), 3752 VFWDFEXPORT(WdfIoTargetStop), 3753 VFWDFEXPORT(WdfIoTargetPurge), 3754 VFWDFEXPORT(WdfIoTargetGetState), 3755 VFWDFEXPORT(WdfIoTargetGetDevice), 3756 VFWDFEXPORT(WdfIoTargetSendReadSynchronously), 3757 VFWDFEXPORT(WdfIoTargetFormatRequestForRead), 3758 VFWDFEXPORT(WdfIoTargetSendWriteSynchronously), 3759 VFWDFEXPORT(WdfIoTargetFormatRequestForWrite), 3760 VFWDFEXPORT(WdfIoTargetSendIoctlSynchronously), 3761 VFWDFEXPORT(WdfIoTargetFormatRequestForIoctl), 3762 VFWDFEXPORT(WdfMemoryCreate), 3763 VFWDFEXPORT(WdfMemoryCreatePreallocated), 3764 VFWDFEXPORT(WdfMemoryGetBuffer), 3765 VFWDFEXPORT(WdfMemoryAssignBuffer), 3766 VFWDFEXPORT(WdfMemoryCopyToBuffer), 3767 VFWDFEXPORT(WdfMemoryCopyFromBuffer), 3768 VFWDFEXPORT(WdfObjectGetTypedContextWorker), 3769 VFWDFEXPORT(WdfObjectAllocateContext), 3770 VFWDFEXPORT(WdfObjectContextGetObject), 3771 VFWDFEXPORT(WdfObjectReferenceActual), 3772 VFWDFEXPORT(WdfObjectDereferenceActual), 3773 VFWDFEXPORT(WdfObjectCreate), 3774 VFWDFEXPORT(WdfObjectDelete), 3775 VFWDFEXPORT(WdfObjectQuery), 3776 VFWDFEXPORT(WdfRegistryOpenKey), 3777 VFWDFEXPORT(WdfRegistryCreateKey), 3778 VFWDFEXPORT(WdfRegistryClose), 3779 VFWDFEXPORT(WdfRegistryRemoveKey), 3780 VFWDFEXPORT(WdfRegistryRemoveValue), 3781 VFWDFEXPORT(WdfRegistryQueryValue), 3782 VFWDFEXPORT(WdfRegistryQueryMemory), 3783 VFWDFEXPORT(WdfRegistryQueryMultiString), 3784 VFWDFEXPORT(WdfRegistryQueryUnicodeString), 3785 VFWDFEXPORT(WdfRegistryQueryString), 3786 VFWDFEXPORT(WdfRegistryQueryULong), 3787 VFWDFEXPORT(WdfRegistryAssignValue), 3788 VFWDFEXPORT(WdfRegistryAssignMemory), 3789 VFWDFEXPORT(WdfRegistryAssignMultiString), 3790 VFWDFEXPORT(WdfRegistryAssignUnicodeString), 3791 VFWDFEXPORT(WdfRegistryAssignString), 3792 VFWDFEXPORT(WdfRegistryAssignULong), 3793 VFWDFEXPORT(WdfRequestCreate), 3794 VFWDFEXPORT(WdfRequestReuse), 3795 VFWDFEXPORT(WdfRequestChangeTarget), 3796 VFWDFEXPORT(WdfRequestFormatRequestUsingCurrentType), 3797 VFWDFEXPORT(WdfRequestSend), 3798 VFWDFEXPORT(WdfRequestGetStatus), 3799 VFWDFEXPORT(WdfRequestMarkCancelable), 3800 VFWDFEXPORT(WdfRequestMarkCancelableEx), 3801 VFWDFEXPORT(WdfRequestUnmarkCancelable), 3802 VFWDFEXPORT(WdfRequestIsCanceled), 3803 VFWDFEXPORT(WdfRequestCancelSentRequest), 3804 VFWDFEXPORT(WdfRequestIsFrom32BitProcess), 3805 VFWDFEXPORT(WdfRequestSetCompletionRoutine), 3806 VFWDFEXPORT(WdfRequestGetCompletionParams), 3807 VFWDFEXPORT(WdfRequestAllocateTimer), 3808 VFWDFEXPORT(WdfRequestComplete), 3809 VFWDFEXPORT(WdfRequestCompleteWithInformation), 3810 VFWDFEXPORT(WdfRequestGetParameters), 3811 VFWDFEXPORT(WdfRequestRetrieveInputMemory), 3812 VFWDFEXPORT(WdfRequestRetrieveOutputMemory), 3813 VFWDFEXPORT(WdfRequestRetrieveInputBuffer), 3814 VFWDFEXPORT(WdfRequestRetrieveOutputBuffer), 3815 VFWDFEXPORT(WdfRequestSetInformation), 3816 VFWDFEXPORT(WdfRequestGetInformation), 3817 VFWDFEXPORT(WdfRequestGetFileObject), 3818 VFWDFEXPORT(WdfRequestGetRequestorMode), 3819 VFWDFEXPORT(WdfRequestForwardToIoQueue), 3820 VFWDFEXPORT(WdfRequestGetIoQueue), 3821 VFWDFEXPORT(WdfRequestRequeue), 3822 VFWDFEXPORT(WdfRequestStopAcknowledge), 3823 VFWDFEXPORT(WdfRequestImpersonate), 3824 VFWDFEXPORT(WdfRequestGetRequestorProcessId), 3825 VFWDFEXPORT(WdfRequestIsFromUserModeDriver), 3826 VFWDFEXPORT(WdfRequestSetUserModeDriverInitiatedIo), 3827 VFWDFEXPORT(WdfRequestGetUserModeDriverInitiatedIo), 3828 VFWDFEXPORT(WdfRequestSetActivityId), 3829 VFWDFEXPORT(WdfRequestRetrieveActivityId), 3830 VFWDFEXPORT(WdfRequestGetEffectiveIoType), 3831 VFWDFEXPORT(WdfCmResourceListGetCount), 3832 VFWDFEXPORT(WdfCmResourceListGetDescriptor), 3833 VFWDFEXPORT(WdfStringCreate), 3834 VFWDFEXPORT(WdfStringGetUnicodeString), 3835 VFWDFEXPORT(WdfObjectAcquireLock), 3836 VFWDFEXPORT(WdfObjectReleaseLock), 3837 VFWDFEXPORT(WdfWaitLockCreate), 3838 VFWDFEXPORT(WdfWaitLockAcquire), 3839 VFWDFEXPORT(WdfWaitLockRelease), 3840 VFWDFEXPORT(WdfSpinLockCreate), 3841 VFWDFEXPORT(WdfSpinLockAcquire), 3842 VFWDFEXPORT(WdfSpinLockRelease), 3843 VFWDFEXPORT(WdfTimerCreate), 3844 VFWDFEXPORT(WdfTimerStart), 3845 VFWDFEXPORT(WdfTimerStop), 3846 VFWDFEXPORT(WdfTimerGetParentObject), 3847 VFWDFEXPORT(WdfUsbTargetDeviceCreate), 3848 VFWDFEXPORT(WdfUsbTargetDeviceCreateWithParameters), 3849 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveInformation), 3850 VFWDFEXPORT(WdfUsbTargetDeviceGetDeviceDescriptor), 3851 VFWDFEXPORT(WdfUsbTargetDeviceRetrieveConfigDescriptor), 3852 VFWDFEXPORT(WdfUsbTargetDeviceQueryString), 3853 VFWDFEXPORT(WdfUsbTargetDeviceAllocAndQueryString), 3854 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForString), 3855 VFWDFEXPORT(WdfUsbTargetDeviceGetNumInterfaces), 3856 VFWDFEXPORT(WdfUsbTargetDeviceSelectConfig), 3857 VFWDFEXPORT(WdfUsbTargetDeviceSendControlTransferSynchronously), 3858 VFWDFEXPORT(WdfUsbTargetDeviceFormatRequestForControlTransfer), 3859 VFWDFEXPORT(WdfUsbTargetDeviceResetPortSynchronously), 3860 VFWDFEXPORT(WdfUsbTargetDeviceQueryUsbCapability), 3861 VFWDFEXPORT(WdfUsbTargetPipeGetInformation), 3862 VFWDFEXPORT(WdfUsbTargetPipeIsInEndpoint), 3863 VFWDFEXPORT(WdfUsbTargetPipeIsOutEndpoint), 3864 VFWDFEXPORT(WdfUsbTargetPipeGetType), 3865 VFWDFEXPORT(WdfUsbTargetPipeSetNoMaximumPacketSizeCheck), 3866 VFWDFEXPORT(WdfUsbTargetPipeWriteSynchronously), 3867 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForWrite), 3868 VFWDFEXPORT(WdfUsbTargetPipeReadSynchronously), 3869 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForRead), 3870 VFWDFEXPORT(WdfUsbTargetPipeConfigContinuousReader), 3871 VFWDFEXPORT(WdfUsbTargetPipeAbortSynchronously), 3872 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForAbort), 3873 VFWDFEXPORT(WdfUsbTargetPipeResetSynchronously), 3874 VFWDFEXPORT(WdfUsbTargetPipeFormatRequestForReset), 3875 VFWDFEXPORT(WdfUsbInterfaceGetInterfaceNumber), 3876 VFWDFEXPORT(WdfUsbInterfaceGetNumEndpoints), 3877 VFWDFEXPORT(WdfUsbInterfaceGetDescriptor), 3878 VFWDFEXPORT(WdfUsbInterfaceGetNumSettings), 3879 VFWDFEXPORT(WdfUsbInterfaceSelectSetting), 3880 VFWDFEXPORT(WdfUsbInterfaceGetEndpointInformation), 3881 VFWDFEXPORT(WdfUsbTargetDeviceGetInterface), 3882 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredSettingIndex), 3883 VFWDFEXPORT(WdfUsbInterfaceGetNumConfiguredPipes), 3884 VFWDFEXPORT(WdfUsbInterfaceGetConfiguredPipe), 3885 VFWDFEXPORT(WdfVerifierDbgBreakPoint), 3886 VFWDFEXPORT(WdfVerifierKeBugCheck), 3887 VFWDFEXPORT(WdfGetTriageInfo), 3888 VFWDFEXPORT(WdfWorkItemCreate), 3889 VFWDFEXPORT(WdfWorkItemEnqueue), 3890 VFWDFEXPORT(WdfWorkItemGetParentObject), 3891 VFWDFEXPORT(WdfWorkItemFlush), 3892 VFWDFEXPORT(WdfRegistryWdmGetHandle), 3893 VFWDFEXPORT(WdfDeviceStopIdleActual), 3894 VFWDFEXPORT(WdfDeviceResumeIdleActual), 3895 VFWDFEXPORT(WdfDeviceInitEnableHidInterface), 3896 VFWDFEXPORT(WdfDeviceHidNotifyPresence), 3897 VFWDFEXPORT(WdfDeviceGetSelfIoTarget), 3898 VFWDFEXPORT(WdfDeviceInitAllowSelfIoTarget), 3899 VFWDFEXPORT(WdfIoTargetSelfAssignDefaultIoQueue), 3900 VFWDFEXPORT(WdfDeviceOpenDevicemapKey), 3901 VFWDFEXPORT(WdfIoTargetWdmGetTargetFileHandle), 3902 VFWDFEXPORT(WdfDeviceWdmDispatchIrp), 3903 VFWDFEXPORT(WdfDeviceWdmDispatchIrpToIoQueue), 3904 VFWDFEXPORT(WdfDeviceConfigureWdmIrpDispatchCallback), 3905 } 3906 }; 3907 3908 #endif // VF_FX_DYNAMICS_GENERATE_TABLE 3909 3910 #endif // _VFFXDYNAMICS_H_ 3911 3912