Win32 API 日本語リファレンス
ホームSystem.RealTimeCommunications › IRTCSession

IRTCSession

COM
IID387c8086-99be-42fb-9973-7c0fc0ca9fa8継承元IUnknown自前メソッド開始 vtbl3

メソッド 20

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT get_Client(IRTCClient** ppClient)
ppClientIRTCClient**outこのセッションを所有する IRTCClient インターフェイスを受け取るポインタである。
vtbl 4 HRESULT get_State(RTC_SESSION_STATE* penState)
penStateRTC_SESSION_STATE*outセッションの現在の状態を表す RTC_SESSION_STATE 列挙値を受け取るポインタである。
vtbl 5 HRESULT get_Type(RTC_SESSION_TYPE* penType)
penTypeRTC_SESSION_TYPE*outセッションの種別を表す RTC_SESSION_TYPE 列挙値を受け取るポインタである。
vtbl 6 HRESULT get_Profile(IRTCProfile** ppProfile)
ppProfileIRTCProfile**outこのセッションに関連付けられた IRTCProfile インターフェイスを受け取るポインタである。
vtbl 7 HRESULT get_Participants(IRTCCollection** ppCollection)
ppCollectionIRTCCollection**outセッションの参加者一覧を保持する IRTCCollection インターフェイスを受け取るポインタである。
vtbl 8 HRESULT Answer()
vtbl 9 HRESULT Terminate(RTC_TERMINATE_REASON enReason)
enReasonRTC_TERMINATE_REASONinセッションを終了する理由を表す RTC_TERMINATE_REASON 列挙値を指定する。
vtbl 10 HRESULT Redirect(RTC_SESSION_TYPE enType, LPWSTR bstrLocalPhoneURI, IRTCProfile* pProfile, INT lFlags)
enTypeRTC_SESSION_TYPEinリダイレクト先セッションの種別を表す RTC_SESSION_TYPE 列挙値を指定する。
bstrLocalPhoneURILPWSTRinリダイレクトに使用するローカルの電話 URI を指定する。NULL を指定できる。
pProfileIRTCProfile*inリダイレクトに使用する IRTCProfile インターフェイスを指定する。NULL を指定できる。
lFlagsINTinリダイレクト動作を制御するフラグを指定する。
vtbl 11 HRESULT AddParticipant(LPWSTR bstrAddress, LPWSTR bstrName, IRTCParticipant** ppParticipant)
bstrAddressLPWSTRin追加する参加者のアドレス(URI)を指定する。
bstrNameLPWSTRin追加する参加者の表示名を指定する。NULL を指定できる。
ppParticipantIRTCParticipant**out追加された参加者を表す IRTCParticipant インターフェイスを受け取るポインタである。
vtbl 12 HRESULT RemoveParticipant(IRTCParticipant* pParticipant)
pParticipantIRTCParticipant*inセッションから削除する参加者を表す IRTCParticipant インターフェイスを指定する。
vtbl 13 HRESULT EnumerateParticipants(IRTCEnumParticipants** ppEnum)
ppEnumIRTCEnumParticipants**outセッションの参加者を列挙する IRTCEnumParticipants インターフェイスを受け取るポインタである。
vtbl 14 HRESULT get_CanAddParticipants(VARIANT_BOOL* pfCanAdd)
pfCanAddVARIANT_BOOL*outこのセッションに参加者を追加できるかどうかを受け取る VARIANT_BOOL ポインタである。
vtbl 15 HRESULT get_RedirectedUserURI(LPWSTR* pbstrUserURI)
pbstrUserURILPWSTR*outリダイレクト先ユーザーの URI を受け取る BSTR ポインタである。
vtbl 16 HRESULT get_RedirectedUserName(LPWSTR* pbstrUserName)
pbstrUserNameLPWSTR*outリダイレクト先ユーザーの表示名を受け取る BSTR ポインタである。
vtbl 17 HRESULT NextRedirectedUser()
vtbl 18 HRESULT SendMessage(LPWSTR bstrMessageHeader, LPWSTR bstrMessage, INT_PTR lCookie)
bstrMessageHeaderLPWSTRin送信するメッセージのヘッダー(Content-Type など)を指定する。NULL を指定できる。
bstrMessageLPWSTRin送信するメッセージ本文を指定する。
lCookieINT_PTRin操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。
vtbl 19 HRESULT SendMessageStatus(RTC_MESSAGING_USER_STATUS enUserStatus, INT_PTR lCookie)
enUserStatusRTC_MESSAGING_USER_STATUSin送信するメッセージユーザーの状態(入力中など)を表す RTC_MESSAGING_USER_STATUS 列挙値を指定する。
lCookieINT_PTRin操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。
vtbl 20 HRESULT AddStream(INT lMediaType, INT_PTR lCookie)
lMediaTypeINTin追加するストリームのメディア種別を表すビットマスクを指定する。
lCookieINT_PTRin操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。
vtbl 21 HRESULT RemoveStream(INT lMediaType, INT_PTR lCookie)
lMediaTypeINTin削除するストリームのメディア種別を表すビットマスクを指定する。
lCookieINT_PTRin操作を識別し、後続のイベントと関連付けるためのクッキー値を指定する。
vtbl 22 HRESULT put_EncryptionKey(INT lMediaType, LPWSTR EncryptionKey)
lMediaTypeINTin暗号化キーを設定する対象のメディア種別を指定する。
EncryptionKeyLPWSTRin指定したメディアに使用する暗号化キー文字列を指定する。

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 指定が可能。