2009-06-18 2 views
0

MSTAPIインターフェイスを実装し、会話するコードを継承しました。リクエストIDがどこで初期化されているのか不思議です。リクエストIDとは、例えばidRequestからLINE_REPLY Messageまでのパラメータを意味します。MSTAPI要求IDはどこで初期化されていますか?

私は好奇心が強い理由は、私はTSPとクライアントの表示要求IDを持っているとき、私は典型的なシーケンスとして以下を参照し、双方が番号に同意することです:

66304 
66303 
66286 
66269 
66252 
66235 
... 

最初の値(私には何の意味もないが、ラウンド数である)0x00010300に変換した後、要求IDそこから減少。 (要求IDが内部で符号付き2バイト整数として扱われていない限り、私は可能です)

私は、片側または他側が何かを初期化しようとしていると思われます。それを不適切なものに初期化する。

は、誰もが、リクエストIDが動作するようになっている方法を知っていますか?それはMSTAPIによって内部的に生成され、TSPとクライアントの両方に提供される不透明な番号ですか?誰もこれを説明する参照で指摘できますか?

ありがとうございました。

答えて

1

リクエストIDは、すべての非同期操作のためのTAPIによって内部的に生成されます。プログラムがlineMakeCallのような非同期TAPI関数を呼び出すと、TAPIはこの操作の要求IDを返します。同じ要求IDがTSPI_lineMakeCallのTSPに提供されます。 TSPがMakeCall操作を完了すると、TSPはこの要求IDでCompletionProcコールバックを呼び出し、この操作が完了したことをTAPIに通知します。その後、TAPIは同じ要求IDを持つアプリケーションにLINE_REPLYメッセージを送信するので、lineMakeCall操作が完了したことがわかります。

関連する問題