ホーム › System.RealTimeCommunications › IRTCSession
IRTCSession
COMメソッド 20
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 3 HRESULT get_Client(IRTCClient** ppClient)
| ppClient | IRTCClient** | out | このセッションを所有する IRTCClient インターフェイスを受け取るポインタである。 |
vtbl 4 HRESULT get_State(RTC_SESSION_STATE* penState)
| penState | RTC_SESSION_STATE* | out | セッションの現在の状態を表す RTC_SESSION_STATE 列挙値を受け取るポインタである。 |
vtbl 5 HRESULT get_Type(RTC_SESSION_TYPE* penType)
| penType | RTC_SESSION_TYPE* | out | セッションの種別を表す RTC_SESSION_TYPE 列挙値を受け取るポインタである。 |
vtbl 6 HRESULT get_Profile(IRTCProfile** ppProfile)
| ppProfile | IRTCProfile** | out | このセッションに関連付けられた IRTCProfile インターフェイスを受け取るポインタである。 |
vtbl 7 HRESULT get_Participants(IRTCCollection** ppCollection)
| ppCollection | IRTCCollection** | out | セッションの参加者一覧を保持する IRTCCollection インターフェイスを受け取るポインタである。 |
vtbl 8 HRESULT Answer()
vtbl 9 HRESULT Terminate(RTC_TERMINATE_REASON enReason)
| enReason | RTC_TERMINATE_REASON | in | セッションを終了する理由を表す RTC_TERMINATE_REASON 列挙値を指定する。 |
vtbl 10 HRESULT Redirect(RTC_SESSION_TYPE enType, LPWSTR bstrLocalPhoneURI, IRTCProfile* pProfile, INT lFlags)
| enType | RTC_SESSION_TYPE | in | リダイレクト先セッションの種別を表す RTC_SESSION_TYPE 列挙値を指定する。 |
| bstrLocalPhoneURI | LPWSTR | in | リダイレクトに使用するローカルの電話 URI を指定する。NULL を指定できる。 |
| pProfile | IRTCProfile* | in | リダイレクトに使用する IRTCProfile インターフェイスを指定する。NULL を指定できる。 |
| lFlags | INT | in | リダイレクト動作を制御するフラグを指定する。 |
vtbl 11 HRESULT AddParticipant(LPWSTR bstrAddress, LPWSTR bstrName, IRTCParticipant** ppParticipant)
| bstrAddress | LPWSTR | in | 追加する参加者のアドレス(URI)を指定する。 |
| bstrName | LPWSTR | in | 追加する参加者の表示名を指定する。NULL を指定できる。 |
| ppParticipant | IRTCParticipant** | out | 追加された参加者を表す IRTCParticipant インターフェイスを受け取るポインタである。 |
vtbl 12 HRESULT RemoveParticipant(IRTCParticipant* pParticipant)
| pParticipant | IRTCParticipant* | in | セッションから削除する参加者を表す IRTCParticipant インターフェイスを指定する。 |
vtbl 13 HRESULT EnumerateParticipants(IRTCEnumParticipants** ppEnum)
| ppEnum | IRTCEnumParticipants** | out | セッションの参加者を列挙する IRTCEnumParticipants インターフェイスを受け取るポインタである。 |
vtbl 14 HRESULT get_CanAddParticipants(VARIANT_BOOL* pfCanAdd)
| pfCanAdd | VARIANT_BOOL* | out | このセッションに参加者を追加できるかどうかを受け取る VARIANT_BOOL ポインタである。 |
| pbstrUserURI | LPWSTR* | out | リダイレクト先ユーザーの URI を受け取る BSTR ポインタである。 |
| pbstrUserName | LPWSTR* | out | リダイレクト先ユーザーの表示名を受け取る BSTR ポインタである。 |
vtbl 17 HRESULT NextRedirectedUser()
| bstrMessageHeader | LPWSTR | in | 送信するメッセージのヘッダー(Content-Type など)を指定する。NULL を指定できる。 |
| bstrMessage | LPWSTR | in | 送信するメッセージ本文を指定する。 |
| lCookie | INT_PTR | in | 操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。 |
vtbl 19 HRESULT SendMessageStatus(RTC_MESSAGING_USER_STATUS enUserStatus, INT_PTR lCookie)
| enUserStatus | RTC_MESSAGING_USER_STATUS | in | 送信するメッセージユーザーの状態(入力中など)を表す RTC_MESSAGING_USER_STATUS 列挙値を指定する。 |
| lCookie | INT_PTR | in | 操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。 |
| lMediaType | INT | in | 追加するストリームのメディア種別を表すビットマスクを指定する。 |
| lCookie | INT_PTR | in | 操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。 |
| lMediaType | INT | in | 削除するストリームのメディア種別を表すビットマスクを指定する。 |
| lCookie | INT_PTR | in | 操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。 |
| lMediaType | INT | in | 暗号化キーを設定する対象のメディア種別を指定する。 |
| EncryptionKey | LPWSTR | in | 指定したメディアに使用する暗号化キー文字列を指定する。 |
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IRTCSession "{387C8086-99BE-42FB-9973-7C0FC0CA9FA8}" #usecom global IRTCSession IID_IRTCSession "{}" #comfunc global IRTCSession_get_Client 3 sptr #comfunc global IRTCSession_get_State 4 var #comfunc global IRTCSession_get_Type 5 var #comfunc global IRTCSession_get_Profile 6 sptr #comfunc global IRTCSession_get_Participants 7 sptr #comfunc global IRTCSession_Answer 8 #comfunc global IRTCSession_Terminate 9 int #comfunc global IRTCSession_Redirect 10 int,wstr,sptr,int #comfunc global IRTCSession_AddParticipant 11 wstr,wstr,sptr #comfunc global IRTCSession_RemoveParticipant 12 sptr #comfunc global IRTCSession_EnumerateParticipants 13 sptr #comfunc global IRTCSession_get_CanAddParticipants 14 var #comfunc global IRTCSession_get_RedirectedUserURI 15 var #comfunc global IRTCSession_get_RedirectedUserName 16 var #comfunc global IRTCSession_NextRedirectedUser 17 #comfunc global IRTCSession_SendMessage 18 wstr,wstr,sptr #comfunc global IRTCSession_SendMessageStatus 19 int,sptr #comfunc global IRTCSession_AddStream 20 int,sptr #comfunc global IRTCSession_RemoveStream 21 int,sptr #comfunc global IRTCSession_put_EncryptionKey 22 int,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IRTCSession "{387C8086-99BE-42FB-9973-7C0FC0CA9FA8}" #usecom global IRTCSession IID_IRTCSession "{}" #comfunc global IRTCSession_get_Client 3 sptr #comfunc global IRTCSession_get_State 4 sptr #comfunc global IRTCSession_get_Type 5 sptr #comfunc global IRTCSession_get_Profile 6 sptr #comfunc global IRTCSession_get_Participants 7 sptr #comfunc global IRTCSession_Answer 8 #comfunc global IRTCSession_Terminate 9 int #comfunc global IRTCSession_Redirect 10 int,wstr,sptr,int #comfunc global IRTCSession_AddParticipant 11 wstr,wstr,sptr #comfunc global IRTCSession_RemoveParticipant 12 sptr #comfunc global IRTCSession_EnumerateParticipants 13 sptr #comfunc global IRTCSession_get_CanAddParticipants 14 sptr #comfunc global IRTCSession_get_RedirectedUserURI 15 sptr #comfunc global IRTCSession_get_RedirectedUserName 16 sptr #comfunc global IRTCSession_NextRedirectedUser 17 #comfunc global IRTCSession_SendMessage 18 wstr,wstr,sptr #comfunc global IRTCSession_SendMessageStatus 19 int,sptr #comfunc global IRTCSession_AddStream 20 int,sptr #comfunc global IRTCSession_RemoveStream 21 int,sptr #comfunc global IRTCSession_put_EncryptionKey 22 int,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。