1) Why are you first opening port 1, setting various configurations then closing it and opening port 6?
2) Why are you attempting to use overlapped I/O to just send 19 bytes? Why not just write those 19 bytes to the port directly without all the complication of overlapped I/O?
Get this working first, then if you really need to use overlapped I/O you can start at least with something that works. When trying to do something and you're not quite sure how to do it, start with something as simple as possible, get that working and then expand in small steps to what you are trying to achieve. If you start with something small and working and change it and that change doesn't work then the problem must be only in the change so there is a much narrower area for debuging. You can also undo the changes just made and revert to what was working then try changes again.
All advice is offered in good faith only. You are ultimately responsible for effects of your programs and the integrity of the machines they run on.
I have know idea what filter FIR1 is.
It is up to you to find and understand its algorithm and then try to implement it using C++ code.
And no one will do this work for you. Where to search for I already showed you.
If you then will have some problems with C++ - ask in this Forum.