COctopusAOTF::~COctopusAOTF() { B.AOTF_loaded = false; HBUF hBuf = NULL; olDaAbort( hdass_9834 ); olDaFlushBuffers( hdass_9834 ); do { olDaGetBuffer( hdass_9834, &hBuf ); // get the buffer from the done queue if( hBuf != NULL ) olDmFreeBuffer( hBuf ); // and free it } while( hBuf != NULL ); // until the done queue is empty olDaReleaseDASS( hdass_9834 ); // release the subsystem and the board olDaTerminate( hdrvr_9834 ); }
int DTFUN::CleanUp( void ) { int i, bcount, status; status= olDaFlushBuffers( lphDass ); bcount= BUFNUM; for (i=0; i<bcount; i++) { status+= olDaGetBuffer( lphDass, &hbuf[i] ); status+= olDmFreeBuffer( hbuf[i] ); } if (outputclockonusercounter) status+= olDaReleaseDASS( lphDassCT ); status+= olDaReleaseDASS( lphDass ); return( status ); }
void COctopusAOTF::Stop( void ) { HBUF hBuf; olDaAbort( hdass_9834 ); olDaFlushBuffers( hdass_9834 ); // make sure flush all buffers to done queue do { olDaGetBuffer( hdass_9834, &hBuf ); // get the buffer from the done queue if( hBuf != NULL ) { olDmFreeBuffer( hBuf ); } } while( hBuf != NULL ); B.AOTF_running = false; m_status_AOTF.SetBitmap( m_bmp_no ); Sleep( 50 ); }