private void Open() { // Already did it if (null != m_DeviceManager) return; // Once only if (!m_Initialized) { // Lock out m_Initialized = true; // Call initializer InitDvbApiDll(); } // Create device manager m_DeviceManager = new Common(); // Open the hardware channel m_DeviceManager.Open( m_DeviceIndex ); // Attach to board m_Board = new BoardControl(); // Do a full reset m_Board.Initialize(); // Attach to frontend m_Frontend = new Frontend(); // Start it up m_Frontend.Initialize(); // Enable DMA access m_Board.EnableDMA(); // Create CI accessor m_CI = new CommonInterface(); }
/// <summary> /// Beendet die Nutzung des Gerätes endgültig. /// </summary> public void Dispose() { // Stop all filters StopFilters(); // Forward to all using (m_CI) m_CI = null; using (m_Frontend) m_Frontend = null; using (m_Board) m_Board = null; using (m_DeviceManager) m_DeviceManager = null; }