ITAgentSession
COMIDispatch (デュアル)comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。公式ドキュメント
ITAgentSession インターフェイス (tapi3cc.h) は、エージェント、グループ、アドレスの関連付けを表すエージェントセッションを扱います。
メソッド 17
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
ITAgentSession::get_Agent メソッド (tapi3cc.h) は、このセッションに関連付けられた ITAgent インターフェイスへのポインターを取得します。
| ppAgent | ITAgent** | out | ITAgent インターフェイスへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 値 | 意味 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| ppAgent パラメーターが有効なポインターではありません。 |
解説(Remarks)
TAPI は、ITAgentSession::get_Agent が返す ITAgent インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITAgent インターフェイスに対して Release を呼び出す必要があります。
ITAgentSession::get_Address メソッド (tapi3cc.h) は、このセッションに関連付けられた ITAddress インターフェイスへのポインターを取得します。
| ppAddress | ITAddress** | out | ITAddress へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 値 | 意味 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| ppAddress パラメーターが有効なポインターではありません。 |
解説(Remarks)
TAPI は、ITAgentSession::get_Address が返す ITAddress インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITAddress インターフェイスに対して Release を呼び出す必要があります。
ITAgentSession::get_ACDGroup メソッド (tapi3cc.h) は、このセッションに関連付けられた ACD グループを取得します。
| ppACDGroup | ITACDGroup** | out | ITACDGroup インターフェイスへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| 値 | 意味 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| ppACDGroup パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
TAPI は、ITAgentSession::get_ACDGroup が返す ITACDGroup インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITACDGroup インターフェイスに対して Release を呼び出す必要があります。
ITAgentSession::put_State メソッド (tapi3cc.h) は、エージェントセッションの状態を設定します。
| SessionState | AGENT_SESSION_STATE | in | AGENT_SESSION_STATE。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| SessionState パラメーターが有効なセッション状態ではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineSetAgentSessionState を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineSetAgentSessionState 関数をラップします。
ITAgentSession::get_State メソッド (tapi3cc.h) は、このセッションの現在の状態を取得します。
| pSessionState | AGENT_SESSION_STATE* | out | AGENT_SESSION_STATE へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| pSessionState パラメーターが有効なポインターではありません。 |
ITAgentSession::get_SessionStartTime メソッド (tapi3cc.h) は、セッションが作成された時刻を取得します。
| pdateSessionStart | DOUBLE* | out | セッション開始時刻へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| pdateSessionStart パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_SessionDuration メソッド (tapi3cc.h) は、エージェントセッションの継続時間を秒単位で取得します。
| plDuration | INT* | out | セッション継続時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plDuration パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_NumberOfCalls メソッド (tapi3cc.h) は、このセッション中にこのエージェントが処理した ACD コールの数を取得します。
| plCalls | INT* | out | コールの総数へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plCalls パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_TotalTalkTime メソッド (tapi3cc.h) は、このセッション中にこのエージェントが ACD コールで通話に費やした秒数を取得します。
| plTalkTime | INT* | out | 総通話時間。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plTalkTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_AverageTalkTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりの通話に費やした平均時間 (秒単位) を取得します。
| plTalkTime | INT* | out | 平均通話時間。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plTalkTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_TotalCallTime メソッド (tapi3cc.h) は、このエージェントセッション中に (このエージェントが) ACD コールに費やした秒数を取得します。
| plCallTime | INT* | out | 総コール時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plCallTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_AverageCallTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりに費やした平均時間 (秒単位) を取得します。
| plCallTime | INT* | out | 平均コール時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plCallTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_TotalWrapUpTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コールのラップアップ (通話後作業) に費やした秒数を取得します。
| plWrapUpTime | INT* | out | 総ラップアップ時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plWrapUpTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_AverageWrapUpTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりのラップアップに費やした平均時間 (秒単位) を取得します。
| plWrapUpTime | INT* | out | 平均ラップアップ時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plWrapUpTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_ACDCallRate メソッド (tapi3cc.h) は、エージェントセッションあたりのコールレートを 1 時間あたりのコール数で取得します。
| pcyCallrate | CY* | out | コールレートへのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| pcyCallrate パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_LongestTimeToAnswer メソッド (tapi3cc.h) は、コールが応答されるまで待機していた最長時間 (秒単位) を取得します。
| plAnswerTime | INT* | out | コールに応答するまでの最長時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plAnswerTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
ITAgentSession::get_AverageTimeToAnswer メソッド (tapi3cc.h) は、コールが応答されるまで待機した平均時間 (秒単位) を取得します。
| plAnswerTime | INT* | out | コールに応答するまでの平均時間へのポインター。 |
戻り値
このメソッドは次のいずれかの値を返します。
| リターンコード | 説明 |
|---|---|
| メソッドは成功しました。 | |
| 操作を実行するのに十分なメモリがありません。 | |
| plAnswerTime パラメーターが有効なポインターではありません。 | |
|
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。 |
| TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。 |
解説(Remarks)
このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITAgentSession "{5AFC3147-4BCC-11D1-BF80-00805FC147D3}" #usecom global ITAgentSession IID_ITAgentSession "{}" #comfunc global ITAgentSession_get_Agent 7 sptr #comfunc global ITAgentSession_get_Address 8 sptr #comfunc global ITAgentSession_get_ACDGroup 9 sptr #comfunc global ITAgentSession_put_State 10 int #comfunc global ITAgentSession_get_State 11 var #comfunc global ITAgentSession_get_SessionStartTime 12 var #comfunc global ITAgentSession_get_SessionDuration 13 var #comfunc global ITAgentSession_get_NumberOfCalls 14 var #comfunc global ITAgentSession_get_TotalTalkTime 15 var #comfunc global ITAgentSession_get_AverageTalkTime 16 var #comfunc global ITAgentSession_get_TotalCallTime 17 var #comfunc global ITAgentSession_get_AverageCallTime 18 var #comfunc global ITAgentSession_get_TotalWrapUpTime 19 var #comfunc global ITAgentSession_get_AverageWrapUpTime 20 var #comfunc global ITAgentSession_get_ACDCallRate 21 var #comfunc global ITAgentSession_get_LongestTimeToAnswer 22 var #comfunc global ITAgentSession_get_AverageTimeToAnswer 23 var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITAgentSession "{5AFC3147-4BCC-11D1-BF80-00805FC147D3}" #usecom global ITAgentSession IID_ITAgentSession "{}" #comfunc global ITAgentSession_get_Agent 7 sptr #comfunc global ITAgentSession_get_Address 8 sptr #comfunc global ITAgentSession_get_ACDGroup 9 sptr #comfunc global ITAgentSession_put_State 10 int #comfunc global ITAgentSession_get_State 11 sptr #comfunc global ITAgentSession_get_SessionStartTime 12 sptr #comfunc global ITAgentSession_get_SessionDuration 13 sptr #comfunc global ITAgentSession_get_NumberOfCalls 14 sptr #comfunc global ITAgentSession_get_TotalTalkTime 15 sptr #comfunc global ITAgentSession_get_AverageTalkTime 16 sptr #comfunc global ITAgentSession_get_TotalCallTime 17 sptr #comfunc global ITAgentSession_get_AverageCallTime 18 sptr #comfunc global ITAgentSession_get_TotalWrapUpTime 19 sptr #comfunc global ITAgentSession_get_AverageWrapUpTime 20 sptr #comfunc global ITAgentSession_get_ACDCallRate 21 sptr #comfunc global ITAgentSession_get_LongestTimeToAnswer 22 sptr #comfunc global ITAgentSession_get_AverageTimeToAnswer 23 sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。