Win32 API 日本語リファレンス
ホームDevices.Tapi › ITAgentSession

ITAgentSession

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID5afc3147-4bcc-11d1-bf80-00805fc147d3継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

公式ドキュメント

ITAgentSession インターフェイス (tapi3cc.h) は、エージェント、グループ、アドレスの関連付けを表すエージェントセッションを扱います。

メソッド 17

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_Agent(ITAgent** ppAgent)

ITAgentSession::get_Agent メソッド (tapi3cc.h) は、このセッションに関連付けられた ITAgent インターフェイスへのポインターを取得します。

ppAgentITAgent**outITAgent インターフェイスへのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

意味
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
ppAgent パラメーターが有効なポインターではありません。

解説(Remarks)

TAPI は、ITAgentSession::get_Agent が返す ITAgent インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITAgent インターフェイスに対して Release を呼び出す必要があります。

vtbl 8 HRESULT get_Address(ITAddress** ppAddress)

ITAgentSession::get_Address メソッド (tapi3cc.h) は、このセッションに関連付けられた ITAddress インターフェイスへのポインターを取得します。

ppAddressITAddress**outITAddress へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

意味
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
ppAddress パラメーターが有効なポインターではありません。

解説(Remarks)

TAPI は、ITAgentSession::get_Address が返す ITAddress インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITAddress インターフェイスに対して Release を呼び出す必要があります。

vtbl 9 HRESULT get_ACDGroup(ITACDGroup** ppACDGroup)

ITAgentSession::get_ACDGroup メソッド (tapi3cc.h) は、このセッションに関連付けられた ACD グループを取得します。

ppACDGroupITACDGroup**outITACDGroup インターフェイスへのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

意味
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
ppACDGroup パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

TAPI は、ITAgentSession::get_ACDGroup が返す ITACDGroup インターフェイスに対して AddRef メソッドを呼び出します。アプリケーションは、それに関連付けられたリソースを解放するために、 ITACDGroup インターフェイスに対して Release を呼び出す必要があります。

vtbl 10 HRESULT put_State(AGENT_SESSION_STATE SessionState)

ITAgentSession::put_State メソッド (tapi3cc.h) は、エージェントセッションの状態を設定します。

SessionStateAGENT_SESSION_STATEinAGENT_SESSION_STATE

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_INVALIDARG
SessionState パラメーターが有効なセッション状態ではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineSetAgentSessionState を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineSetAgentSessionState 関数をラップします。

vtbl 11 HRESULT get_State(AGENT_SESSION_STATE* pSessionState)

ITAgentSession::get_State メソッド (tapi3cc.h) は、このセッションの現在の状態を取得します。

pSessionStateAGENT_SESSION_STATE*outAGENT_SESSION_STATE へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pSessionState パラメーターが有効なポインターではありません。
vtbl 12 HRESULT get_SessionStartTime(DOUBLE* pdateSessionStart)

ITAgentSession::get_SessionStartTime メソッド (tapi3cc.h) は、セッションが作成された時刻を取得します。

pdateSessionStartDOUBLE*outセッション開始時刻へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pdateSessionStart パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 13 HRESULT get_SessionDuration(INT* plDuration)

ITAgentSession::get_SessionDuration メソッド (tapi3cc.h) は、エージェントセッションの継続時間を秒単位で取得します。

plDurationINT*outセッション継続時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plDuration パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 14 HRESULT get_NumberOfCalls(INT* plCalls)

ITAgentSession::get_NumberOfCalls メソッド (tapi3cc.h) は、このセッション中にこのエージェントが処理した ACD コールの数を取得します。

plCallsINT*outコールの総数へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plCalls パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 15 HRESULT get_TotalTalkTime(INT* plTalkTime)

ITAgentSession::get_TotalTalkTime メソッド (tapi3cc.h) は、このセッション中にこのエージェントが ACD コールで通話に費やした秒数を取得します。

plTalkTimeINT*out総通話時間。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plTalkTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 16 HRESULT get_AverageTalkTime(INT* plTalkTime)

ITAgentSession::get_AverageTalkTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりの通話に費やした平均時間 (秒単位) を取得します。

plTalkTimeINT*out平均通話時間。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plTalkTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 17 HRESULT get_TotalCallTime(INT* plCallTime)

ITAgentSession::get_TotalCallTime メソッド (tapi3cc.h) は、このエージェントセッション中に (このエージェントが) ACD コールに費やした秒数を取得します。

plCallTimeINT*out総コール時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plCallTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 18 HRESULT get_AverageCallTime(INT* plCallTime)

ITAgentSession::get_AverageCallTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりに費やした平均時間 (秒単位) を取得します。

plCallTimeINT*out平均コール時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plCallTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 19 HRESULT get_TotalWrapUpTime(INT* plWrapUpTime)

ITAgentSession::get_TotalWrapUpTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コールのラップアップ (通話後作業) に費やした秒数を取得します。

plWrapUpTimeINT*out総ラップアップ時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plWrapUpTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 20 HRESULT get_AverageWrapUpTime(INT* plWrapUpTime)

ITAgentSession::get_AverageWrapUpTime メソッド (tapi3cc.h) は、このエージェントセッション中に ACD コール 1 件あたりのラップアップに費やした平均時間 (秒単位) を取得します。

plWrapUpTimeINT*out平均ラップアップ時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plWrapUpTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 21 HRESULT get_ACDCallRate(CY* pcyCallrate)

ITAgentSession::get_ACDCallRate メソッド (tapi3cc.h) は、エージェントセッションあたりのコールレートを 1 時間あたりのコール数で取得します。

pcyCallrateCY*outコールレートへのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pcyCallrate パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 22 HRESULT get_LongestTimeToAnswer(INT* plAnswerTime)

ITAgentSession::get_LongestTimeToAnswer メソッド (tapi3cc.h) は、コールが応答されるまで待機していた最長時間 (秒単位) を取得します。

plAnswerTimeINT*outコールに応答するまでの最長時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plAnswerTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

vtbl 23 HRESULT get_AverageTimeToAnswer(INT* plAnswerTime)

ITAgentSession::get_AverageTimeToAnswer メソッド (tapi3cc.h) は、コールが応答されるまで待機した平均時間 (秒単位) を取得します。

plAnswerTimeINT*outコールに応答するまでの平均時間へのポインター。

戻り値

このメソッドは次のいずれかの値を返します。

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
plAnswerTime パラメーターが有効なポインターではありません。
LINEERR_
この TAPI 2.1 関数から返されるエラーコードについては、 lineGetAgentSessionInfo を参照してください。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトさせたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

このメソッドは TAPI 2.1 の lineGetAgentSessionInfo 関数をラップします。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
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 不要)。