Содержание
- 2. © 2004 Microsoft Corporation. All rights reserved. Features A minifilter may be loaded at any time
- 3. © 2004 Microsoft Corporation. All rights reserved. Features A minifilter may be unloaded at any time
- 4. © 2004 Microsoft Corporation. All rights reserved. Triggering Minifilter Load Driver start type of BOOT, SYSTEM
- 5. © 2004 Microsoft Corporation. All rights reserved. Load Order Groups FSFilter Activity Monitor FSFilter Undelete FSFilter
- 6. © 2004 Microsoft Corporation. All rights reserved. Minifilter Startup DriverEntry() routine called when driver is loaded
- 7. © 2004 Microsoft Corporation. All rights reserved. Triggering Instance Creation At minifilter FltStartFiltering() time Existing volumes
- 8. © 2004 Microsoft Corporation. All rights reserved. What controls which instances are created Instance definitions in
- 9. © 2004 Microsoft Corporation. All rights reserved. What controls which instances are created (cont) Instance definitions
- 10. © 2004 Microsoft Corporation. All rights reserved. Sample Instance Definitions From MiniSpy.inf: [Minispy.AddRegistry] HKR,"Instances","DefaultInstance",0x00000000,"Minispy - Top
- 11. © 2004 Microsoft Corporation. All rights reserved. InstanceSetup callback If NULL, the instance is always created
- 12. © 2004 Microsoft Corporation. All rights reserved. InstanceSetup callback (cont) VolumeFilesystemType parameter identifies the file system
- 13. © 2004 Microsoft Corporation. All rights reserved. Triggering Minifilter Unload Service stop request via: “sc stop”
- 14. © 2004 Microsoft Corporation. All rights reserved. Controlling Minifilter Unload Two mechanisms through FLT_REGISTRATION structure FilterUnload()
- 15. © 2004 Microsoft Corporation. All rights reserved. FilterUnload callback If NULL, the minifilter cannot be unloaded
- 16. © 2004 Microsoft Corporation. All rights reserved. FLTFL_REGISTRATION_DO_ NOT_SUPPORT_SERVICE_STOP flag If set, a minifilter can not
- 17. © 2004 Microsoft Corporation. All rights reserved. Minifilter’s Responsibilities in FilterUnload callback Call FltUnregisterFilter(), Filter Manager
- 18. © 2004 Microsoft Corporation. All rights reserved. Triggering Instance teardown A minifilter being unloaded A volume
- 19. © 2004 Microsoft Corporation. All rights reserved. Controlling Instance Teardown In FLT_REGISTRATION structure: InstanceQueryTeardown() callback InstanceTeardownStart()
- 20. © 2004 Microsoft Corporation. All rights reserved. InstanceQueryTeardown Callback Only called for explicit detach requests via
- 21. © 2004 Microsoft Corporation. All rights reserved. InstanceTeardownStart Callback May be NULL, instance is still torndown
- 22. © 2004 Microsoft Corporation. All rights reserved. Outstanding Operation Callbacks Any currently executing preOperation callback continues
- 23. © 2004 Microsoft Corporation. All rights reserved. “Draining” Operation Callbacks Is a PostOperation callback that is
- 24. © 2004 Microsoft Corporation. All rights reserved. “Cancelling” Operation Callbacks If buffers have been swapped for
- 25. © 2004 Microsoft Corporation. All rights reserved. Minifilter Generated IOs These IOs will continue normal processing
- 26. © 2004 Microsoft Corporation. All rights reserved. InstanceTeardownComplete callback May be NULL, instance is still torndown
- 27. © 2004 Microsoft Corporation. All rights reserved. Final Cleanup of Instance Waits for outstanding Instance references
- 29. Скачать презентацию