#region variables
private bool _isAnysee = false;
private bool _isCiSlotPresent = false;
private bool _isCamPresent = false;
private bool _isCamReady = false;
private AnyseeCiState _ciState = AnyseeCiState.Empty;
private IKsPropertySet _propertySet = null;
private AnyseeCiApi _ciApi = null;
private IntPtr _generalBuffer = IntPtr.Zero;
private String _tunerDevicePath = String.Empty;
private ApiCallbacks _apiCallbacks;
private ICiMenuCallbacks _ciMenuCallbacks = null;
private IntPtr _mmiMessageBuffer = IntPtr.Zero;
#endregion
// The WinTV-CI can only decrypt one channel at a time. During development
// of this class I did actually try to assemble a fake CA PMT structure that
// would trick the module into decrypting multiple channels, however it didn't
// work. So we'll just send this PMT to the CAM regardless of the list management
// action.
byte[] rawPmt = pmt.GetRawPmtCopy();
int hr = WinTVCI_SendPMT(_winTvCiFilter, rawPmt, rawPmt.Length);
if (hr == 0)
{
Log.Debug("WinTV-CI: result = success");
return true;
}
Log.Debug("WinTV-CI: result = failure, hr = 0x{0:x} ({1})", hr, HResult.GetDXErrorString(hr));
return false;
}
#endregion