Ejemplo n.º 1
0
        public double[] ReadData(int offset, int length, SpectrumWindow windowType)
        {
            var bufferSize = SpectrumLength * Marshal.SizeOf <double>();
            var bufferPtr  = Marshal.AllocHGlobal(bufferSize);

            try
            {
                SdkError.ThrowIfError(SpectrumDoubleChannel_read_data(_anyChannel.ChannelPtr, (IntPtr)offset, (IntPtr)length, bufferPtr, (IntPtr)bufferSize, out var dataRead, windowType));
                return(new NativeArrayMarshaler <double>().MarshalArray(bufferPtr, dataRead));
            }
            finally
            {
                Marshal.FreeHGlobal(bufferPtr);
            }
        }
Ejemplo n.º 2
0
 private static extern int SpectrumDoubleChannel_read_data(IntPtr channelPtr, IntPtr offset, IntPtr length,
                                                           IntPtr outBuffer, IntPtr bufferSize, out IntPtr samplesRead, SpectrumWindow windowType);