/// <summary> /// Method release the mdapi filter in ordinary fashion /// </summary> public void Close() { if (mdapiFilter != null) { Release.ComObject("mdapiFilter", mdapiFilter); } mdapiFilter = null; _changeChannel = null; _changeChannel_Ex = null; _changeChannel_Clear = null; }
/// <summary> /// private MDPlug Creator /// </summary> private MDPlug(string CardFolder) { _mDPlugTProg82.CA_Country = new byte[5]; _mDPlugTProg82.CA_System82 = new CA_System82[32]; _mDPlugTProg82.Country = new byte[30]; _mDPlugTProg82.Extern_Buffer = new byte[16]; _mDPlugTProg82.Filters = new byte[256]; _mDPlugTProg82.Name = new byte[30]; _mDPlugTProg82.Provider = new byte[30]; _mPids2Dec.Pids = new ushort[63]; _mPids2Dec.nbPids = 0; try { mdapiFilter = (IBaseFilter)new MDAPIFilter(); _changeChannel = (IChangeChannel)mdapiFilter; } catch (Exception ex) { Log.Log.Write(ex); } // Test Ex capabilities try { _changeChannel_Ex = (IChangeChannel_Ex)mdapiFilter; _changeChannel.SetPluginsDirectory(CardFolder); Log.Log.Info("mdplug: This MDAPIfilter accept Extend capabilities"); Log.Log.Info("mdplug: The mdplugin folder for this instance is : MDPlugins\\{0}", CardFolder); } catch (Exception) { //Log.Log.Write(ex); Log.Log.Info("mdplug: This MDAPIfilter doesnt have Extend capabilities. We will use standard"); _changeChannel_Ex = null; } // Test Clear capabilities try { _changeChannel_Clear = (IChangeChannel_Clear)mdapiFilter; Log.Log.Info("mdplug: This MDAPIfilter accept Clear capabilities"); } catch (Exception) { //Log.Log.Write(ex); Log.Log.Info("mdplug: This MDAPIfilter doesnt have Clear capabilities"); _changeChannel_Clear = null; } }