我在使用 interop.tapi3lib.dll 时遇到了一些问题(这里可以是 DL:dllLink)
对于我正在编写的报告程序,我想监视tapi 可用的所有设备以进行呼叫。现在,当我启动程序时,它运行良好,尽管我怀疑 dll 是为了修改单个扩展上的调用而编写的,用很少的代码我可以完美地看到所有活动。
当用户注销(或登录)电话(我将其用于 cisco Callmanager)时,就会出现问题。那时我能够捕获tapi_object,它又可用于确定删除和添加哪一行(旧号码和新号码),但我无法注册新地址以发送事件。
我尝试时的异常:
值不在预期范围内。
- 因为我怀疑在这个地址可用之前创建了tapiclass。
目前我已经做了一个测试,它为每条线路创建一个单独的 Tapiclass,并为监控 Tapiobject 事件创建一个 Tapiclass,但这占用了我们公司配置(20 部手机)内存的 10 倍,所以我什至不想测试这个在目标站点(+300 电话)。另一种选择(我能想到的)是处理“旧”tapiclass并在之后创建一个新的,但是我有点担心在多个用户登录/ out(使用我的程序创建课程需要几秒钟)
所以,我真正想要的是选择
tapi.RegisterCallNotifications(ad, true, true, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, 2);
对于新可用的线路。
一些背景知识:) -我对 C# 相当陌生,对 COM-interop 完全陌生,而且我知道 C++ 的原理,但我从未在其中写过任何东西。
任何帮助将不胜感激。(还有关于互操作等的任何评论)