If we have set the adapter to one mode (eg listen), and we are in the read packet loop, and then we want to change the adapter mode to another (eg tunnel); can just call the SetAdapterMode on the handle? Will that just work in toggling the adapter mode?
Or do we need to stop reading and release interface (set null to packet event, close handles..), and do the setup again?
You can change adapter mode calling SetAdapterMode without stopping the filtering or resetting events. Mode flag only defines what to do with an original packet, in listen mode it is passed over, in tunnel it is dropped.