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

ITLegacyAddressMediaControl

COM
IIDab493640-4c0b-11d2-a046-00c04fb6809f継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

ITLegacyAddressMediaControl インターフェイスは、デバイスとその構成に直接アクセスする必要があるレガシーアプリケーションをサポートするために提供されます。このインターフェイスは Address Object によって公開され、ITAddress に対して QueryInterface を呼び出すことで作成できます。

メソッド 3

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

vtbl 3 HRESULT GetID(LPWSTR pDeviceClass, DWORD* pdwSize, BYTE** ppDeviceID)

GetID メソッドは、現在のアドレスに関連付けられた指定のデバイスクラスに対応するデバイス識別子を返します。

pDeviceClassLPWSTRin構成情報が必要な TAPI デバイスクラス を格納した BSTR へのポインター。
pdwSizeDWORD*out返されるデバイス識別子の長さ。
ppDeviceIDBYTE**outデバイス識別子。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは成功しました。
E_FAIL
メソッドは失敗しました。これは、指定されたクラスのデバイスが現在のアドレスに関連付けられていないことを意味する場合があります。
E_POINTER
pdwSize または ppDeviceID パラメーターが有効なポインターではありません。

解説(Remarks)

アプリケーションは、このメソッドを呼び出す前に ITTAPI::RegisterCallNotifications を呼び出す必要があります。

アプリケーションは、pDeviceClass パラメーターのメモリを割り当てるために SysAllocString を使用し、その変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

アプリケーションは、ppDeviceID パラメーターに割り当てられたメモリを解放するために CoTaskMemFree 関数を呼び出す必要があります。

TAPI 2.1 相互参照: lineGetDevConfig, lineSetDevConfig, lineGetID

vtbl 4 HRESULT GetDevConfig(LPWSTR pDeviceClass, DWORD* pdwSize, BYTE** ppDeviceConfig)

GetDevConfig メソッドは、不透明なデータ構造を返します。

pDeviceClassLPWSTRin構成情報が必要な TAPI デバイスクラス を格納した BSTR へのポインター。
pdwSizeDWORD*out構成配列のサイズへのポインター。
ppDeviceConfigBYTE**outデバイス構成情報を格納したバイト配列へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

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

解説(Remarks)

このメソッドは、 LineGetDevConfig TAPI 2.1 関数の COM ラッパーです。

このメソッドを呼び出す前に GetID を実行する必要があります。

アプリケーションは、pDeviceClass パラメーターのメモリを割り当てるために SysAllocString を使用し、その変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

アプリケーションは、ppDeviceConfig パラメーターに割り当てられたメモリを解放するために CoTaskMemFree 関数を呼び出す必要があります。

TAPI 2.1 相互参照: lineGetDevConfig, lineSetDevConfig

vtbl 5 HRESULT SetDevConfig(LPWSTR pDeviceClass, DWORD dwSize, BYTE* pDeviceConfig)

SetDevConfig 関数を使用すると、アプリケーションは回線デバイス上のメディアストリームデバイスの構成を、以前に GetDevConfig を使用して取得したセットアップに復元できます。

pDeviceClassLPWSTRin構成情報が必要な TAPI デバイスクラス を格納した BSTR へのポインター。
dwSizeDWORDin構成配列のサイズ。
pDeviceConfigBYTE*inGetDevConfig の呼び出しによって取得されたデバイス構成情報を格納したバイト配列へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは成功しました。
E_POINTER
pDeviceClasspdwSize、または ppDeviceConfig パラメーターが有効なポインターではありません。
E_INVALIDARG
pdwSize パラメーターがゼロです。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。

解説(Remarks)

このメソッドは、 lineSetDevConfig TAPI 2.1 関数の COM ラッパーです。

このメソッドを呼び出す前に GetID を実行する必要があります。

アプリケーションは、pDeviceClass パラメーターのメモリを割り当てるために SysAllocString を使用し、その変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

TAPI 2.1 相互参照: lineGetDevConfig, lineSetDevConfig

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_ITLegacyAddressMediaControl "{AB493640-4C0B-11D2-A046-00C04FB6809F}"
#usecom global ITLegacyAddressMediaControl IID_ITLegacyAddressMediaControl "{}"
#comfunc global ITLegacyAddressMediaControl_GetID         3 wstr,var,var
#comfunc global ITLegacyAddressMediaControl_GetDevConfig  4 wstr,var,var
#comfunc global ITLegacyAddressMediaControl_SetDevConfig  5 wstr,int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。