我在使用interop.tapi3lib.dll时遇到了一些问题(在这里可以是DL:dllLink)
对于我正在编写的报告程序,我想要监控tapi可用于其呼叫的所有设备。现在,当我启动程序时这很好用,虽然我怀疑dll是为了修改单个扩展名上的调用而编写的,只需很少的代码就可以完美地看到所有活动。
当用户注销(或进入)手机时(我将其用于cisco Callmanager),问题就出现了。那时我能够捕获tapi_object,而tapi_object又可用于确定删除和添加哪一行(旧号码和新号码)但我无法注册新地址以发送事件。
我尝试的例外:
价值不在预期范围内。
目前我已经完成了一项测试,为每个线路个人和1个tapiclass创建了一个tapiclass用于监控tapiobject事件,但这是我们公司的配置(20部电话)的10倍内存,所以我甚至不想要在目标站点测试这个(+300电话)。另一个选项(我可以想到)是处置'旧'tapiclass并创建一个新的tapiclass,但是我有点担心丢失之间的事件,当多个用户登录时获得双重事件和pingpong / out(用我的程序创建类需要几秒钟)
所以,我真正想要的是选择
tapi.RegisterCallNotifications(ad, true, true, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, 2);
用于新的可用线路。
答案的背景:) - 我是C#的新手,完全是COM-interop的新手,我知道C ++的原理,但我从未写过任何内容。
任何帮助都会受到极大的关注。 (还有关于互操作等的任何评论)
答案 0 :(得分:0)