32 ビット OS (XP、Vista、Win7) で動作する TAPI アプリケーション (Delphi 2007) があります。TAPI サーバーは 32 ビットの Windows 2003 SP2 です。
TAPI APP が 64 ビット OS で実行されている間、回線に接続できますが、アプリで TAPI メッセージを取得できません。
メッセージが Tracing tapisrv を介してマシンに到着したことを確認できますが、イベント ハンドル (lineInitializeEx によって返される) への WaitForSingleObjectEx が通知されることはありません (常に WAIT_TIMEOUT を返します)。
C++コードと64ビットコンパイラも試しましたが、64ビットアプリは同じ動作をしました(32ビットOSで起動さえしないことを除いて:-))。
アプリへの TAPI メッセージを受信する方法はありますか?
編集: うーん、着信に関するメッセージのみがカットされているようです。(アプリの実行中に) "tcmsetup /c /d" (= TAPI を無効にする) を実行すると、LINE_CLOSE および LINE_REMOVE メッセージを受け取ります。次に、「tcmsetup /c server_name」を実行すると、LINE_CREATE メッセージが表示されます。提供された新しい回線を lineOpen できますが、それでも LINE_APPNEWCALL、LINE_CALLSTATE などを取得できません