I am trying to use a BladeRF SDR to listen to certain frequency bands. I need to save the I & Q signals and time stamp them.

So far, I have used "BladeRF-cli", SDR#, and Matlab. I can mostly communicate with bladeRF with all these programs. I can view the signal in the GUIs. However, I don't have access to the individual I & Q samples except in "BladeRF-cli". Even with "BladeRF-cli" program I can save the I & Q but there's no timestamps. I am thinking of reading I & Q for about 100ms and then timestamp it. I am thinking of using around 10MSPS since my bandwidth is less than 5 MHz. I hope it won’t drop packets (I am not sure though). I am thinking of using C++ or C#; preferably C#.

I guess my options are to use “bladeRF-cli” program and write a C# program on top of it but I am not sure I will be able to timestamp with this method.
My other option is to use a “bladeRF” dll and somehow get access to I & Q data directly. Record the data for 100ms time stamp it and write to a file and continue. Then post process the file (may be from matlab) and recover the signal. I would also like to do some sort of a realtime viewer (so that I can verify there’s a signal). is this doable? Has people done it before? What are the dlls/header files I need to use to develop this program?
Are there any easy ways of doing it that I not thinking of?