Share via


TUISPI_lineConfigDialogEdit関数 (tspi.h)

TUISPI_lineConfigDialogEdit関数を使用すると、指定したライン デバイスのプロバイダーは、hwndOwner の子ウィンドウとしてモーダル ダイアログ ボックスを表示し、ユーザーが回線デバイスに関連するパラメーターを構成できるようにします。 この関数により、 バージョン 2.0 以降 (バージョン 1.4 以前でサポート) でTSPI_lineConfigDialogEdit関数が廃止されます。

実装は省略可能です。

構文

LONG TSPIAPI TUISPI_lineConfigDialogEdit(
  TUISPIDLLCALLBACK lpfnUIDLLCallback,
  DWORD             dwDeviceID,
  HWND              hwndOwner,
  LPCWSTR           lpszDeviceClass,
  LPVOID const      lpDeviceConfigIn,
  DWORD             dwSize,
  LPVARSTRING       lpDeviceConfigOut
);

パラメーター

lpfnUIDLLCallback

UI DLL が呼び出すことができる関数へのポインターは、サービス プロバイダー DLL と通信して、ダイアログ ボックスを表示するために必要な情報を取得します。

dwDeviceID

構成する回線デバイス。

hwndOwner

ダイアログ ボックスをアタッチするウィンドウへのハンドル。

lpszDeviceClass

デバイス クラス名を識別する null で終わる Unicode 文字列へのポインター。 このデバイス クラスを使用すると、呼び出し元は、そのデバイス クラスに適用できる構成情報の特定のサブ画面を選択できます。 このパラメーターが NULL であるか、空の文字列を指している場合は、最上位レベルの構成が選択されます。 許可される文字列は、 TSPI_lineGetIDの場合と同じです。

lpDeviceConfigIn

VARSTRING 構造体の変数部分でTSPI_lineGetDevConfig (または以前のTUISPI_lineConfigDialogEditの呼び出し) によって返された不透明な構成データ構造へのポインター。

dwSize

lpDeviceConfigIn が指す構造体内のバイト数。 この値は、TSPI_lineGetDevConfigまたは以前の TUISPI_lineConfigDialogEdit 呼び出しによって返される VARSTRING 構造体の dwStringSize メンバー返されます。

メモ 構造体のサイズ パラメーターが正しくない場合は、データが上書きされる可能性があります。 構造体のサイズの設定の詳細については、 メモリ割り当て に関するトピックを参照してください。
 

lpDeviceConfigOut

デバイス構成構造体が返される VARSTRING 型のメモリ位置へのポインター。 要求が正常に完了すると、この場所にデバイス構成が入力されます。 VARSTRING 構造体の dwStringFormat メンバーは、STRINGFORMAT_BINARYに設定されます。 lineGetDevConfig (または lineConfigDialogEdit の今後の呼び出し) を呼び出す前に、アプリケーションは、この構造体の dwTotalSize メンバーを設定して、情報を返すために TAPI が使用できるメモリの量を示す必要があります。

戻り値

要求が成功した場合は 0 を返し、エラーが発生した場合はエラー番号を返します。 可能な戻り値は次のとおりです。

LINEERR_INVALDEVICECLASS、LINEERR_OPERATIONFAILED、LINEERR_INVALPARAM、LINEERR_RESOURCEUNAVAIL、LINEERR_NODRIVER、LINEERR_OPERATIONUNAVAIL、LINEERR_NOMEM。

解説

lpszDeviceClass パラメーターは、ユーザーが関心のあるデバイス クラスに適用できる構成情報の特定のサブ画面を選択します。許可される文字列は、TSPI_lineGetIDの場合と同じです。 たとえば、行が Comm API をサポートしている場合、comm/datamodem を lpszDeviceClass として渡すと、プロバイダーは Comm に固有のパラメーターを表示します (または、少なくとも、マルチレベル構成ダイアログ ボックス チェーン内の対応するポイントから開始するため、ユーザーは目的のパラメーターを検索するために "掘る" 必要はありません)。

lpszDeviceClass パラメーターは"tapi/line"、"""、または NULL で、プロバイダーに行の最上位レベルの構成が表示されます。

この関数と TUISPI_lineConfigDialog の違いは、編集するパラメーターのソースと編集結果です。 TUISPI_lineConfigDialogでは、編集されるパラメーターは、デバイスで現在使用されている (または次の呼び出しで使用するように設定されている) パラメーターであり、加えられた変更は(可能な限り)アクティブな接続に即時に影響を与えます。また、アプリケーションでは lineGetDevConfig を使用して、パラメーター変更の結果をTUISPI_lineConfigDialogからフェッチする必要があります。 TUISPI_lineConfigDialogEditでは、編集するパラメーターがアプリケーションから渡され、アクティブな接続に影響を与えずに結果がアプリケーションに返されます。編集の結果はこの関数で返され、アプリケーションは lineGetDevConfig を呼び出す必要はありません。 したがって、 TUISPI_lineConfigDialogEdit は、アクティブな呼び出しに影響を与えることなく、ユーザーが将来の呼び出しのパラメーターを設定する機能をアプリケーションに提供することを許可します。 ただし、この関数の出力を TSPI_lineSetDevConfig に渡して、現在の呼び出しまたは次の呼び出しに影響を与えることができます。

下位互換性のために、この関数は古いサービス プロバイダーによってエクスポートされません。 TAPI はこの状態を検出し、アプリケーションが古いプロバイダーでこの関数を呼び出そうとした場合にLINEERR_OPERATIONUNAVAILを報告します。

要件

   
対象プラットフォーム Windows
ヘッダー tspi.h

関連項目

TSPI_lineGetDevConfig

TSPI_lineGetID

TSPI_lineSetDevConfig

TUISPI_lineConfigDialog

VARSTRING