0

interop.tapi3lib.dll に問題があります (ここで DL することができます: dllLink )

私が書いているレポート プログラムの場合、tapi で通話を利用できるすべてのデバイスを監視したいと考えています。プログラムを起動すると、これはうまく機能しますが、dll は単一の拡張機能の呼び出しを変更する目的で書かれていると思われますが、コードはほとんどなく、すべてのアクティビティを完全に見ることができます。

問題は、ユーザーが電話をログアウト (またはログイン) したときに発生します (私はこれを cisco Callmanager に使用しています)。その時点で、削除および追加された行 (古い番号と新しい番号) を決定するために使用できるtapi_object をキャプチャできますが、イベントを送信するための新しいアドレスを登録できません。

私が試したときの例外:

値が期待される範囲内にありません。

  • このアドレスが利用可能になる前にタピクラスが作成されたためです。

現時点では、回線ごとに 1 つのタピクラスを作成し、tapiobject イベントを監視するために 1 つのタピクラスを作成するテストを行いましたが、これは当社の構成 (20 台の電話) の 10 倍のメモリを消費しているため、これをテストしたくありません。ターゲット サイト (+300 電話)。もう1つのオプション(私が考えることができるため)は、「古い」tapiclassを破棄し、後で新しいものを作成することですが、複数のユーザーがログイン/ out (私のプログラムでは、クラスの作成に数秒かかります)

だから、私が本当に欲しいのは、

tapi.RegisterCallNotifications(ad, true, true, TAPI3Lib.TapiConstants.TAPIMEDIATYPE_AUDIO, 2);

新たに利用可能なラインのために。

回答の背景のビット:)-私はC#にかなり慣れていません.COM相互運用機能に完全に慣れていません.C ++の原則は知っていますが、何も書いたことはありません。

どんな助けでも大いに感謝します。(相互運用性などに関するコメントも)

4

1 に答える 1