ITLegacyAddressMediaControl2
COM公式ドキュメント
ITLegacyAddressMediaControl2 インターフェイスは ITLegacyAddressMediaControl インターフェイスから派生します。ITLegacyAddressMediaControl2 は、回線デバイスに関連するパラメーターを構成できる追加のメソッドを提供します。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
ConfigDialog メソッドは、指定した回線デバイスのプロバイダーにダイアログ ボックスを表示させ、ユーザーが回線デバイスに関連するパラメーターを構成できるようにします。編集できるパラメーターは、そのデバイスで現在使用されているものです。
| hwndOwner | HWND | in | ダイアログ ボックスをアタッチするウィンドウのハンドル。このパラメーターに NULL を指定すると、メソッドが作成するウィンドウにオーナー ウィンドウがないことを示します。 |
| pDeviceClass | LPWSTR | in | デバイス クラス名を指定する BSTR へのポインター。このデバイス クラスにより、アプリケーションはそのデバイス クラスに適用される構成情報の特定のサブスクリーンを選択できます。このパラメーターは省略可能で、NULL または空のままにすることができます。その場合は最上位の構成が選択されます。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドは TAPI 2.x の lineConfigDialog 関数の呼び出しに変換されます。 ITLegacyAddressMediaControl2::ConfigDialogEdit メソッドは lineConfigDialogEdit の呼び出しに変換されます。これらのメソッドは、編集するパラメーターの取得元と、アクティブな接続に対する編集結果が異なります。これらの違いについては、 lineConfigDialogEdit を参照してください。
ConfigDialogEdit メソッドは、指定した回線デバイスのプロバイダーにダイアログ ボックスを表示させ、ユーザーが回線デバイスに関連するパラメーターを構成できるようにします。
| hwndOwner | HWND | in | ダイアログ ボックスをアタッチするウィンドウのハンドル。NULL を指定すると、メソッドが作成するウィンドウにオーナー ウィンドウがないことを示します。 |
| pDeviceClass | LPWSTR | in | デバイス クラス名を指定する BSTR へのポインター。このデバイス クラスにより、アプリケーションはそのデバイス クラスに適用される構成情報の特定のサブスクリーンを選択できます。このパラメーターは省略可能で、NULL または空のままにすることができます。その場合は最上位の構成が選択されます。 |
| dwSizeIn | DWORD | in | pDeviceConfigIn パラメーターが指す構成データのサイズへのポインター。 |
| pDeviceConfigIn | BYTE* | in | 編集するデバイス構成データを格納したバイト配列へのポインター。 |
| pdwSizeOut | DWORD* | out | ppDeviceConfigOut パラメーターが指す構成データのサイズへのポインター。 |
| ppDeviceConfigOut | BYTE** | out | 編集後のデバイス構成データを格納したバイト配列へのポインター。 |
戻り値
このメソッドが成功した場合は S_OK を返します。失敗した場合は HRESULT エラー コードを返します。
解説(Remarks)
このメソッドは TAPI 2.x の lineConfigDialogEdit の呼び出しに変換されます。 ITLegacyAddressMediaControl2::ConfigDialog メソッドは lineConfigDialog の呼び出しに変換されます。これらのメソッドは、編集するパラメーターの取得元と、アクティブな接続に対する編集結果が異なります。これらの違いについては、 lineConfigDialogEdit を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ITLegacyAddressMediaControl2 "{B0EE512B-A531-409E-9DD9-4099FE86C738}" #usecom global ITLegacyAddressMediaControl2 IID_ITLegacyAddressMediaControl2 "{}" #comfunc global ITLegacyAddressMediaControl2_ConfigDialog 6 sptr,wstr #comfunc global ITLegacyAddressMediaControl2_ConfigDialogEdit 7 sptr,wstr,int,var,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_ITLegacyAddressMediaControl2 "{B0EE512B-A531-409E-9DD9-4099FE86C738}" #usecom global ITLegacyAddressMediaControl2 IID_ITLegacyAddressMediaControl2 "{}" #comfunc global ITLegacyAddressMediaControl2_ConfigDialog 6 sptr,wstr #comfunc global ITLegacyAddressMediaControl2_ConfigDialogEdit 7 sptr,wstr,int,sptr,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。