Joe,
That's pretty much the way you do it..
The typical pattern is to call
(1) BeginRead to start acquisition
(2) When the callback is invoked, do an EndRead to get the data, and
(3) Call BeginRead again..to make the operation continuous.
All of the DAQmx continuous acquisition examples, will do this.
Hope that answers your question...
Nandan Dharwadker
Staff Software Engineer
Measurement Studio Hardware Team