It's indeed an old project for me. I could try to remember.
We change our specifications : our 4 cameras work now one after the other (with a specific order) triggered by the same signal. We initialyze a buffer with 4 elements (4 channels) triggered by the unique signal and we start the acquisition process. When an acquisition is done, a callback is called and we can make the process. As return value, we have to put TRUE if we want to have a continue acquisition. Otherwise, the acquisition is stopped.
An other problem is the synchronyzation of the cameras because only the first image have a correct vertical synchronization. We created a pulse by means of CVI and send it through a digital output of the connexion board to all cameras so we can synchronyze all these ones at once.
In fact we send 2 pulses : HSYNC on trig 1 output and VSYNC on trig 2 output.
You have to use 'imgPulseRate', 'imgPulseCreate2' and 'imgPulseStart' before the imgSessionConfigure function
I expect this little explanation could help you but the subject is difficult and I don't have a lot of time
Seb