Have you seen this example:
Notes:
- You will likely have to modify the SCPI commands to match your scope model
- If you modify the code, remember that the 2 main reasons for the data not coming back correctly are incorrect ByteOrder (you're reading bigEndian while the scope is sending back littleEndian data, for example) or incorrect precision (the scope is sending back uint16 data and you are reading int16 data, for example).