microsoft / DMF

Driver Module Framework
MIT License
312 stars 78 forks source link

Merge202040409 #253

Closed samtertzakian closed 5 months ago

samtertzakian commented 5 months ago

Merge202040409

  1. Correct regression in DMF_IoctlHandler when ReferenceString is used. BSOD caused by incorrect use of WdfFileObjectGetFileName().
  2. Add DMF_HidDeviceListener. Lets client know when HID devices appear/disappear.
  3. Correct DMF_DefaultTarget, DMF_DeviceInterfaceMultipleTarget and DMF_DeviceInterfaceTarget callback chaining. Chaining was not correct because it was not honoring rule that DMFMODULE passed to callback must be from immediate Child Module. Also, make corresponding changes to unit test code, DMF_Tests_DefaultTarget, DMF_Tests_DeviceInterfaceTarget and DMF_Tests_DeviceInterfaceMultipleTarget.
  4. Make DMF_MobileBroadband more robust in cases of stress.
  5. Clean up logging in DMF_NotifyUserWithRequest.
  6. Fix issue in DMF_IoctlHandler when filtering WDFERQUESTS for Administrator mode when multiple instances of the Module are instantiated.
  7. Correct issue with wrong handle used in DMF_DefaultTarget when streaming is not used.
  8. Correct issue with wrong handle used in DMF_DeviceInterfaceTarget when streaming is not used.
  9. Add tests for non-streaming mode for above two Modules.
  10. Correct issues with DMF_QueuedWorkItem_Enqueue() and DMF_QueuedWorkItem_EnqueueAndWait(). These Methods were not properly detecting failures that can happen during stress testing.