// TFB.idl : ActiveX 控件项目的类型库源。 // 此文件将由 MIDL 编译器工具处理以 // 产生类型库(TFB.tlb),该类型库将成为 // TFB.ocx. #include #include [ uuid(50AC0170-A32B-40E4-B647-AE4306A300B4), version(1.0), control ] library TFBLib { importlib(STDOLE_TLB); // CTFBCtrl 的主调度接口 [ uuid(C442E54C-F74F-4921-99C6-D70F3DA6A6C9) ] dispinterface _DTFB { properties: methods: // 操作方法接口 [id(1), helpstring("操作方法")] void Login(void); [id(3), helpstring("操作方法")] void Logout(void); [id(6), helpstring("操作方法")] void SayBusy(LONG a_nBusyCode); [id(7), helpstring("操作方法")] void SayFree(void); [id(8), helpstring("操作方法")] void ResetAgent(void); [id(9), helpstring("操作方法")] void MakeCall(BSTR a_sTelNumber, BSTR a_sCallerNum); [id(12), helpstring("操作方法")] void AnswerCall(void); [id(13), helpstring("操作方法")] void DropCall(void); [id(14), helpstring("操作方法")] void MuteOn(void); [id(15), helpstring("操作方法")] void MuteOff(void); [id(16), helpstring("操作方法")] void Hold(void); [id(17), helpstring("操作方法")] void Retrieve(void); [id(18), helpstring("操作方法")] void Instead(LONG a_nTargetAgent); [id(19), helpstring("操作方法")] void Transfer(BSTR a_sTelNumber, BSTR a_sCallerNum); [id(20), helpstring("操作方法")] void CancelTransfer(void); [id(21), helpstring("操作方法")] void TransferToIvr(BSTR a_sIvrFilePath, LONG a_nNode, VARIANT_BOOL a_bNeedReturn, BSTR a_sAssociateData); [id(22), helpstring("操作方法")] void MethodReserved(void); [id(23), helpstring("操作方法")] void Listen(LONG a_nTargetAgent); [id(24), helpstring("操作方法")] void Insert(LONG a_nTargetAgent); [id(25), helpstring("操作方法")] void Intercept(LONG a_nTargetAgent); [id(26), helpstring("操作方法")] void Break(LONG a_nTargetAgent); [id(27), helpstring("操作方法")] void ForceAgentState(LONG a_nTargetAgent, LONG a_nControlType); [id(28), helpstring("操作方法")] void Meeting(BSTR a_sTelNumber, BSTR a_sCallerNum); [id(29), helpstring("操作方法")] void CancelMeeting(void); [id(30), helpstring("操作方法")] void SendFax(BSTR a_sFilePath); [id(31), helpstring("操作方法")] void RecvFax(BSTR a_sRecvFilePath); // 业务方法接口 [id(4), helpstring("业务方法")] BSTR GetVersion(void); [id(32), helpstring("业务方法")] VARIANT_BOOL GetAutoReconnect(void); [id(33), helpstring("业务方法")] VARIANT_BOOL GetAutoAnswer(void); [id(34), helpstring("业务方法")] BSTR GetAgentInfo(void); [id(35), helpstring("业务方法")] LONG GetAgentState(void); [id(36), helpstring("业务方法")] LONG GetAgentLineState(void); [id(37), helpstring("业务方法")] LONG GetAgentLinkState(void); [id(38), helpstring("业务方法")] LONG GetCallID(void); [id(39), helpstring("业务方法")] BSTR GetOuterNumber(void); [id(40), helpstring("业务方法")] BSTR GetCallInQueue(void); [id(41), helpstring("业务方法")] BSTR GetAllCallInQueue(void); [id(42), helpstring("业务方法")] BSTR GetRecordFilePath(void); [id(43), helpstring("业务方法")] BSTR GetLeaveWordFilePath(void); [id(44), helpstring("业务方法")] BSTR GetFaxFilePath(void); [id(45), helpstring("业务方法")] BSTR GetLogFileDirectory(void); [id(46), helpstring("业务方法")] VARIANT_BOOL SubscribeData(LONG nType, LONG nParam); [id(47), helpstring("业务方法")] VARIANT_BOOL CancelSubscribeData(LONG nType, LONG nParam); [id(48), helpstring("业务方法")] void SetAssociateData(BSTR a_sCaption, BSTR a_sContent); [id(49), helpstring("业务方法")] BSTR GetAssociateData(BSTR a_sCaption); [id(50), helpstring("业务方法")] BSTR QueryAgentListByAlerting(void); [id(51), helpstring("业务方法")] BSTR QueryAgentListByTalking(void); [id(52), helpstring("业务方法")] BSTR QueryAgentListByBusy(void); [id(53), helpstring("业务方法")] BSTR QueryAgentListByFree(void); [id(5), helpstring("业务方法")] BSTR GetPromptByAgentState(LONG a_nAgentState); [id(59), helpstring("业务方法")] BSTR GetPromptByAgentLineState(LONG a_nAgentLineState); [id(60), helpstring("业务方法")] BSTR GetPromptByAgentLinkState(LONG a_nAgentLinkState); [id(54), helpstring("业务方法")] BSTR GetPromptByBusyCode(LONG a_nBusyCode); [id(2), helpstring("业务方法")] BSTR GetErrorMsg(LONG a_nErrCode); [id(55), helpstring("业务方法")] void sysSetAutoReconnect(VARIANT_BOOL a_bAutoReconnect); [id(56), helpstring("业务方法")] void sysSetAutoAnswer(VARIANT_BOOL a_bAutoAnswer); [id(57), helpstring("业务方法")] void sysSetLogFileDirectory(BSTR a_sLogFileDir); [id(58), helpstring("业务方法")] void sysLog(VARIANT_BOOL a_bOpen); [id(61), helpstring("业务方法")] void sysShowLogInfo(VARIANT_BOOL a_bFlag); [id(62), helpstring("业务方法")] void ForceAgentOut(LONG a_nAgentId, BSTR a_sReason); [id(63), helpstring("业务方法")] void Cancel(void); [id(64), helpstring("业务方法")] void ConsultaionCall(BSTR a_sTelNumber, BSTR a_sCallerNum); [id(65), helpstring("业务方法")] void ConfirmTransfer(LONG a_nType); [id(152), helpstring("业务方法")] void SetAgentID(LONG newVal); [id(153), helpstring("业务方法")] void SetAgentGroup(BSTR newVal); [id(154), helpstring("业务方法")] void SetAgentType(LONG newVal); [id(155), helpstring("业务方法")] void SetAgentExten(LONG newVal); [id(156), helpstring("业务方法")] void SetAcdAddr(BSTR newVal); [id(157), helpstring("业务方法")] void SetAcdPort(LONG newVal); }; // CTFBCtrl 的事件调度接口 [ uuid(87EA9BF3-2AF0-44D4-BAFA-BDBAC069AE49) ] dispinterface _DTFBEvents { properties: // 事件接口没有任何属性 methods: [id(101), helpstring("事件")] void Evt_Login(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(103), helpstring("事件")] void Evt_Logout(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(140), helpstring("事件")] void Evt_Requested(ULONG a_nCallID); [id(104), helpstring("事件")] void Evt_AgentStateChanged(LONG a_nAgentState); [id(130), helpstring("事件")] void Evt_AgentLineStateChanged(LONG a_nLineState); [id(131), helpstring("事件")] void Evt_AgentLinkStateChanged(LONG a_nLinkState); [id(141), helpstring("事件")] void Evt_SubDataChanged(LONG a_nType, LONG a_nSubData1, LONG a_nSubData2, BSTR a_sSubStr); [id(142), helpstring("事件")] void Evt_SubFaxProgress(ULONG a_nFaxProgress); [id(106), helpstring("事件")] void Evt_SayBusy(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(107), helpstring("事件")] void Evt_SayFree(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(108), helpstring("事件")] void Evt_ResetAgent(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(109), helpstring("事件")] void Evt_MakeCall(VARIANT_BOOL a_bFlag, LONG a_nType, BSTR a_sTelNumber, ULONG a_nCallID, LONG a_nErrCode); [id(144), helpstring("事件")] void Evt_Agent_Free(void); [id(135), helpstring("事件")] void Evt_Line_Offering(BSTR a_sOuterNumber, LONG a_nType, ULONG a_nCallID, ULONG a_nInfoEx); [id(136), helpstring("事件")] void Evt_Line_RingBack(BSTR a_sOuterNumber, ULONG a_nCallID); [id(137), helpstring("事件")] void Evt_Line_Talk(ULONG a_nCallID); [id(143), helpstring("事件")] void Evt_Line_HangUp(LONG a_nOrder, ULONG a_nCallID); [id(111), helpstring("事件")] void Evt_AnswerCall(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(112), helpstring("事件")] void Evt_DropCall(VARIANT_BOOL a_bFlag, LONG a_nOrder, ULONG a_nCallID, LONG a_nErrCode); [id(113), helpstring("事件")] void Evt_MuteOn(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(114), helpstring("事件")] void Evt_MuteOff(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(115), helpstring("事件")] void Evt_Hold(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(116), helpstring("事件")] void Evt_Retrieve(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(117), helpstring("事件")] void Evt_Instead(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(132), helpstring("事件")] void Evt_CallInQueue_Changed(LONG a_nCallInNum); [id(138), helpstring("事件")] void Evt_AllCallInQueue_Changed(BSTR a_sAllCallInQueueInfo); [id(133), helpstring("事件")] void Evt_RecordInform(BSTR a_sRecordFilePath, ULONG a_nCallID); [id(118), helpstring("事件")] void Evt_Transfer(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(119), helpstring("事件")] void Evt_CancelTransfer(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(120), helpstring("事件")] void Evt_TransferToIvr(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(121), helpstring("事件")] void Evt_Listen(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(122), helpstring("事件")] void Evt_Insert(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(123), helpstring("事件")] void Evt_Intercept(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(124), helpstring("事件")] void Evt_Break(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(125), helpstring("事件")] void Evt_ForceAgentState(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(126), helpstring("事件")] void Evt_Meeting(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(127), helpstring("事件")] void Evt_CancelMeeting(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(128), helpstring("事件")] void Evt_SendFax(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(129), helpstring("事件")] void Evt_RecvFax(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(102), helpstring("事件")] void Evt_SysError(LONG a_nErrCode); [id(105), helpstring("事件")] void Evt_SysWarning(BSTR a_sWarningMsg); [id(139), helpstring("事件")] void Evt_ShowInfo(BSTR a_sShowInfo); [id(145), helpstring("事件")] void Evt_ForcAgentOut(VARIANT_BOOL a_bFlag, LONG a_nErrCode); [id(146), helpstring("事件")] void Evt_LogOutByForce(LONG a_nForceAgentId, BSTR a_sReson); [id(147), helpstring("事件")] void Evt_Cancel(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(148), helpstring("事件")] void Evt_Consult(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(149), helpstring("事件")] void Evt_Confirm(VARIANT_BOOL a_bFlag, ULONG a_nCallID, LONG a_nErrCode); [id(150), helpstring("事件")] void Evt_Line_TalkInfo(ULONG a_nCallID, BSTR a_sOuterNumber); }; // CTFBCtrl 的类信息 [ uuid(B4AE3B7A-B9A9-4B05-8457-FDFFB66D8CBE) ] coclass TFB { [default] dispinterface _DTFB; [default, source] dispinterface _DTFBEvents; }; };