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

IRTCClient

COM
IID07829e45-9a34-408e-a011-bddf13487cd1継承元IUnknown自前メソッド開始 vtbl3

メソッド 42

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

vtbl 3 HRESULT Initialize()
vtbl 4 HRESULT Shutdown()
vtbl 5 HRESULT PrepareForShutdown()
vtbl 6 HRESULT put_EventFilter(INT lFilter)
lFilterINTinクライアントが受信するイベントの種類を指定するフィルタフラグを設定する。
vtbl 7 HRESULT get_EventFilter(INT* plFilter)
plFilterINT*out現在のイベントフィルタフラグを受け取るポインタである。
vtbl 8 HRESULT SetPreferredMediaTypes(INT lMediaTypes, VARIANT_BOOL fPersistent)
lMediaTypesINTin使用する優先メディア種別を表すフラグを指定する。
fPersistentVARIANT_BOOLin設定を永続化するかどうかを指定するブール値である。
vtbl 9 HRESULT get_PreferredMediaTypes(INT* plMediaTypes)
plMediaTypesINT*out現在の優先メディア種別フラグを受け取るポインタである。
vtbl 10 HRESULT get_MediaCapabilities(INT* plMediaTypes)
plMediaTypesINT*outクライアントがサポートするメディア種別フラグを受け取るポインタである。
vtbl 11 HRESULT CreateSession(RTC_SESSION_TYPE enType, LPWSTR bstrLocalPhoneURI, IRTCProfile* pProfile, INT lFlags, IRTCSession** ppSession)
enTypeRTC_SESSION_TYPEin作成するセッションの種類を表す RTC_SESSION_TYPE を指定する。
bstrLocalPhoneURILPWSTRinローカル側の電話番号 URI を指定する。
pProfileIRTCProfile*inセッションに使用するプロファイルを表す IRTCProfile を指定する。NULL を指定できる。
lFlagsINTinセッション作成時の動作を制御するフラグを指定する。
ppSessionIRTCSession**out作成されたセッションを表す IRTCSession インターフェイスを受け取るポインタである。
vtbl 12 HRESULT put_ListenForIncomingSessions(RTC_LISTEN_MODE enListen)
enListenRTC_LISTEN_MODEin受信セッションの待ち受けモードを表す RTC_LISTEN_MODE を設定する。
vtbl 13 HRESULT get_ListenForIncomingSessions(RTC_LISTEN_MODE* penListen)
penListenRTC_LISTEN_MODE*out現在の受信待ち受けモードを受け取るポインタである。
vtbl 14 HRESULT get_NetworkAddresses(VARIANT_BOOL fTCP, VARIANT_BOOL fExternal, VARIANT* pvAddresses)
fTCPVARIANT_BOOLinTCP アドレスを取得するかどうかを指定するブール値である。
fExternalVARIANT_BOOLin外部(NAT 越し)アドレスを取得するかどうかを指定するブール値である。
pvAddressesVARIANT*out取得したネットワークアドレスの配列を格納した VARIANT を受け取るポインタである。
vtbl 15 HRESULT put_Volume(RTC_AUDIO_DEVICE enDevice, INT lVolume)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
lVolumeINTin設定する音量レベルを指定する。
vtbl 16 HRESULT get_Volume(RTC_AUDIO_DEVICE enDevice, INT* plVolume)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
plVolumeINT*out現在の音量レベルを受け取るポインタである。
vtbl 17 HRESULT put_AudioMuted(RTC_AUDIO_DEVICE enDevice, VARIANT_BOOL fMuted)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
fMutedVARIANT_BOOLinミュートするかどうかを指定するブール値である。
vtbl 18 HRESULT get_AudioMuted(RTC_AUDIO_DEVICE enDevice, VARIANT_BOOL* pfMuted)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
pfMutedVARIANT_BOOL*out現在ミュートされているかどうかを受け取るポインタである。
vtbl 19 HRESULT get_IVideoWindow(RTC_VIDEO_DEVICE enDevice, IVideoWindow** ppIVideoWindow)
enDeviceRTC_VIDEO_DEVICEin対象とするビデオデバイスを表す RTC_VIDEO_DEVICE を指定する。
ppIVideoWindowIVideoWindow**outビデオ表示を制御する IVideoWindow インターフェイスを受け取るポインタである。
vtbl 20 HRESULT put_PreferredAudioDevice(RTC_AUDIO_DEVICE enDevice, LPWSTR bstrDeviceName)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスの用途を表す RTC_AUDIO_DEVICE を指定する。
bstrDeviceNameLPWSTRin優先するオーディオデバイスの名前を指定する。
vtbl 21 HRESULT get_PreferredAudioDevice(RTC_AUDIO_DEVICE enDevice, LPWSTR* pbstrDeviceName)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスの用途を表す RTC_AUDIO_DEVICE を指定する。
pbstrDeviceNameLPWSTR*out現在の優先オーディオデバイス名を受け取るポインタである。
vtbl 22 HRESULT put_PreferredVolume(RTC_AUDIO_DEVICE enDevice, INT lVolume)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
lVolumeINTin設定する優先音量レベルを指定する。
vtbl 23 HRESULT get_PreferredVolume(RTC_AUDIO_DEVICE enDevice, INT* plVolume)
enDeviceRTC_AUDIO_DEVICEin対象とするオーディオデバイスを表す RTC_AUDIO_DEVICE を指定する。
plVolumeINT*out現在の優先音量レベルを受け取るポインタである。
vtbl 24 HRESULT put_PreferredAEC(VARIANT_BOOL bEnable)
bEnableVARIANT_BOOLin音響エコーキャンセル(AEC)を有効にするかどうかを指定するブール値である。
vtbl 25 HRESULT get_PreferredAEC(VARIANT_BOOL* pbEnabled)
pbEnabledVARIANT_BOOL*out音響エコーキャンセル(AEC)が有効かどうかを受け取るポインタである。
vtbl 26 HRESULT put_PreferredVideoDevice(LPWSTR bstrDeviceName)
bstrDeviceNameLPWSTRin優先するビデオデバイスの名前を指定する。
vtbl 27 HRESULT get_PreferredVideoDevice(LPWSTR* pbstrDeviceName)
pbstrDeviceNameLPWSTR*out現在の優先ビデオデバイス名を受け取るポインタである。
vtbl 28 HRESULT get_ActiveMedia(INT* plMediaType)
plMediaTypeINT*out現在アクティブなメディア種別を表すフラグを受け取るポインタである。
vtbl 29 HRESULT put_MaxBitrate(INT lMaxBitrate)
lMaxBitrateINTin許可する最大ビットレートを指定する。
vtbl 30 HRESULT get_MaxBitrate(INT* plMaxBitrate)
plMaxBitrateINT*out現在の最大ビットレートを受け取るポインタである。
vtbl 31 HRESULT put_TemporalSpatialTradeOff(INT lValue)
lValueINTin時間方向と空間方向の品質トレードオフ値を指定する。
vtbl 32 HRESULT get_TemporalSpatialTradeOff(INT* plValue)
plValueINT*out現在の時間/空間トレードオフ値を受け取るポインタである。
vtbl 33 HRESULT get_NetworkQuality(INT* plNetworkQuality)
plNetworkQualityINT*out現在のネットワーク品質を表す値を受け取るポインタである。
vtbl 34 HRESULT StartT120Applet(RTC_T120_APPLET enApplet)
enAppletRTC_T120_APPLETin起動する T.120 アプレットを表す RTC_T120_APPLET を指定する。
vtbl 35 HRESULT StopT120Applets()
vtbl 36 HRESULT get_IsT120AppletRunning(RTC_T120_APPLET enApplet, VARIANT_BOOL* pfRunning)
enAppletRTC_T120_APPLETin状態を問い合わせる T.120 アプレットを表す RTC_T120_APPLET を指定する。
pfRunningVARIANT_BOOL*out指定したアプレットが実行中かどうかを受け取るポインタである。
vtbl 37 HRESULT get_LocalUserURI(LPWSTR* pbstrUserURI)
pbstrUserURILPWSTR*outローカルユーザーの URI を受け取るポインタである。
vtbl 38 HRESULT put_LocalUserURI(LPWSTR bstrUserURI)
bstrUserURILPWSTRinローカルユーザーの URI を指定する。
vtbl 39 HRESULT get_LocalUserName(LPWSTR* pbstrUserName)
pbstrUserNameLPWSTR*outローカルユーザーの表示名を受け取るポインタである。
vtbl 40 HRESULT put_LocalUserName(LPWSTR bstrUserName)
bstrUserNameLPWSTRinローカルユーザーの表示名を指定する。
vtbl 41 HRESULT PlayRing(RTC_RING_TYPE enType, VARIANT_BOOL bPlay)
enTypeRTC_RING_TYPEin再生する呼び出し音の種類を表す RTC_RING_TYPE を指定する。
bPlayVARIANT_BOOLin呼び出し音の再生を開始するか停止するかを指定するブール値である。
vtbl 42 HRESULT SendDTMF(RTC_DTMF enDTMF)
enDTMFRTC_DTMFin送信する DTMF トーンを表す RTC_DTMF を指定する。
vtbl 43 HRESULT InvokeTuningWizard(INT_PTR hwndParent)
hwndParentINT_PTRinチューニングウィザードの親ウィンドウのハンドルを指定する。
vtbl 44 HRESULT get_IsTuned(VARIANT_BOOL* pfTuned)
pfTunedVARIANT_BOOL*outデバイスがチューニング済みかどうかを受け取るポインタである。

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IRTCClient "{07829E45-9A34-408E-A011-BDDF13487CD1}"
#usecom global IRTCClient IID_IRTCClient "{7A42EA29-A2B7-40C4-B091-F6F024AA89BE}"
#comfunc global IRTCClient_Initialize                     3
#comfunc global IRTCClient_Shutdown                       4
#comfunc global IRTCClient_PrepareForShutdown             5
#comfunc global IRTCClient_put_EventFilter                6 int
#comfunc global IRTCClient_get_EventFilter                7 var
#comfunc global IRTCClient_SetPreferredMediaTypes         8 int,int
#comfunc global IRTCClient_get_PreferredMediaTypes        9 var
#comfunc global IRTCClient_get_MediaCapabilities          10 var
#comfunc global IRTCClient_CreateSession                  11 int,wstr,sptr,int,sptr
#comfunc global IRTCClient_put_ListenForIncomingSessions  12 int
#comfunc global IRTCClient_get_ListenForIncomingSessions  13 var
#comfunc global IRTCClient_get_NetworkAddresses           14 int,int,var
#comfunc global IRTCClient_put_Volume                     15 int,int
#comfunc global IRTCClient_get_Volume                     16 int,var
#comfunc global IRTCClient_put_AudioMuted                 17 int,int
#comfunc global IRTCClient_get_AudioMuted                 18 int,var
#comfunc global IRTCClient_get_IVideoWindow               19 int,sptr
#comfunc global IRTCClient_put_PreferredAudioDevice       20 int,wstr
#comfunc global IRTCClient_get_PreferredAudioDevice       21 int,var
#comfunc global IRTCClient_put_PreferredVolume            22 int,int
#comfunc global IRTCClient_get_PreferredVolume            23 int,var
#comfunc global IRTCClient_put_PreferredAEC               24 int
#comfunc global IRTCClient_get_PreferredAEC               25 var
#comfunc global IRTCClient_put_PreferredVideoDevice       26 wstr
#comfunc global IRTCClient_get_PreferredVideoDevice       27 var
#comfunc global IRTCClient_get_ActiveMedia                28 var
#comfunc global IRTCClient_put_MaxBitrate                 29 int
#comfunc global IRTCClient_get_MaxBitrate                 30 var
#comfunc global IRTCClient_put_TemporalSpatialTradeOff    31 int
#comfunc global IRTCClient_get_TemporalSpatialTradeOff    32 var
#comfunc global IRTCClient_get_NetworkQuality             33 var
#comfunc global IRTCClient_StartT120Applet                34 int
#comfunc global IRTCClient_StopT120Applets                35
#comfunc global IRTCClient_get_IsT120AppletRunning        36 int,var
#comfunc global IRTCClient_get_LocalUserURI               37 var
#comfunc global IRTCClient_put_LocalUserURI               38 wstr
#comfunc global IRTCClient_get_LocalUserName              39 var
#comfunc global IRTCClient_put_LocalUserName              40 wstr
#comfunc global IRTCClient_PlayRing                       41 int,int
#comfunc global IRTCClient_SendDTMF                       42 int
#comfunc global IRTCClient_InvokeTuningWizard             43 sptr
#comfunc global IRTCClient_get_IsTuned                    44 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。