STDMETHOD(StateChange)(THIS_ IBPCDeviceBase FAR* lpd, long oldState, long newState) PURE;
STDMETHOD(ErrorMessage)(THIS_ long iMessage, BSTR Text) PURE;
STDMETHOD(CardMissing)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(CardInvalid)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(WrongCard)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(BlackedOut)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(RatingExceeded)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(CostExceeded)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(OSDRequest)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(NoSubscriber)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(CAFail)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(CannotPurchase)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(CASuccess)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(Retry)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message) PURE;
STDMETHOD(SignalLost)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(NewEmail)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(ColdStart)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(Ready)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(NotReady)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(CAFault)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(PasswordCleared)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(TuningChanged)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(HandlePurchaseOffer)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCPurchase FAR* pDetails) PURE;
STDMETHOD(RevokeEvent)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(CopyCard)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(EPGFilterChanged)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
STDMETHOD(TapingControlChanged)(THIS_ IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority) PURE;
void StateChange(IBPCDeviceBase FAR* lpdDevice, long oldState, long newState);
void ErrorMessage(long iMessage, BSTR Text);
void Click(void);
void DblClick(void);
void KeyDown(short FAR* KeyCode, short Shift);
void KeyPress(short FAR* KeyAscii);
void KeyUp(short FAR* KeyCode, short Shift);
void MouseDown(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void MouseMove(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void MouseUp(short Button, short Shift, OLE_XPOS_PIXELS x, OLE_YPOS_PIXELS y);
void Error(short Number, BSTR FAR* Description, long Scode, BSTR Source, BSTR HelpFile, long HelpContext, VARIANT_BOOL FAR* CancelDisplay);
void CardMissing(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void CardInvalid(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void WrongCard(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void BlackedOut(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void RatingExceeded(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void CostExceeded(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void OSDRequest(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void NoSubscriber(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void CAFail(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void CannotPurchase(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void CASuccess(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void Retry(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCMessage FAR* Message, long FAR* HresultRC);
void SignalLost(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void NewEmail(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void ColdStart(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void Ready(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void NotReady(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void CAFault(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void PasswordCleared(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void TuningChanged(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void HandlePurchaseOffer(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, IBPCPurchase FAR* pDetails, long FAR* HresultRC);
void RevokeEvent(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void CopyCard(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority, long FAR* HresultRC);
void EPGFilterChanged(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);
void TapingControlChanged(IBPCDeviceBase FAR* lpdDevice, long SubEvent, long EventNumber, long ItemNumber, long Priority);