The fastest possible sampling interval when capturing data in streaming mode is 100kS/s. If, for example, 2 channels are enabled, this would give you a maximum rate of 50kS/s per channel.
Having run tests here, when using the BM_SINGLE capture mode, you can capture more samples than the actual buffer size of the device as the data is repeatedly transferred to the driver where it is held until the call to pl1000GetValues() is made.
The following is written in the Programmer's Guide
in relation to streaming:
BM_STREAM is useful when you need to collect data continuously for long periods. In
principle, it could be used to collect data indefinitely. Every time pl1000GetValues is
called, it returns the new readings since the last time it was called.
As mentioned above, the driver holds the data values until requested, so you can specify a number of samples greater than the buffer size and the driver will return the latest values collected since the last request.
Hope this helps,