Accessing PFLT_INSTANCE Instance from DriverEntry()

Hi!

While my minifilter is living it allocates some structures with FltAllocatePoolAlignedWithTag().
Then when it dies I would like to clean them up.
But how can I retrieve a PFLT_INSTANCE from my _FLT_REGISTRATION.PFLT_FILTER_UNLOAD_CALLBACK routine in order to call FltFreePoolAlignedWithTag?
I could record this PFLT_INSTANCE in a global variable may be, but is there a nicer way to do it?

Thank you.

Less that a minute of googling got me FltEnumerateVolumes and FltEnumerateInstances but why not either keep them in a list that you manage (insert in your create callback and remove in your free callback).

You also need to be aware that when you call FltTearDownFiltering(or whatever it is called), all your instances will be called at their detach entry point.

Thank you!