lineInitialize 関数 (tapi.h)

lineInitialize 関数は廃止されました。 API バージョン 1.3 および 1.4 を使用するアプリケーションとの下位互換性のために、Tapi.dll および Tapi32.dll によって引き続きエクスポートされます。

API バージョン 2.0 以降を使用するアプリケーションでは、代わりに lineInitializeEx を 使用する必要があります。

TAPI バージョン 1.4 以前の場合: lineInitialize 関数は、行抽象化の後続の使用に対するアプリケーションの Tapi.dll の使用を初期化します。 関数は、アプリケーションの指定された通知メカニズムを登録し、アプリケーションで使用できる回線デバイスの数を返します。 ライン デバイスは、TAPI の行プレフィックス付き関数の実装を提供する任意のデバイスです。

構文

LONG lineInitialize(
  LPHLINEAPP   lphLineApp,
  HINSTANCE    hInstance,
  LINECALLBACK lpfnCallback,
  LPCSTR       lpszAppName,
  LPDWORD      lpdwNumDevs
);

パラメーター

lphLineApp

TAPI のアプリケーションの使用ハンドルが格納されている場所へのポインター。

hInstance

クライアント アプリケーションまたは DLL のインスタンス ハンドル。

lpfnCallback

回線デバイス、アドレス、または呼び出しの状態とイベントを決定するために呼び出されるコールバック関数のアドレス。 詳細については、「 lineCallbackFunc」を参照してください。

lpszAppName

表示可能な文字のみを含む null で終わるテキスト文字列へのポインター。 このパラメーターが NULL でない場合は、アプリケーションのアプリケーション指定の名前が含まれます。 この名前は 、LINECALLINFO 構造体で提供され、ユーザーフレンドリな方法で、どのアプリケーションが呼び出しを開始したか、最初に受け入れまたは応答したかを示します。 この情報は、呼び出しログの目的で役立ちます。 lpszAppNameNULL の場合は、代わりにアプリケーションのファイル名が使用されます。

lpdwNumDevs

DWORD サイズの場所へのポインター。 この要求が正常に完了すると、この場所には、アプリケーションで使用できる回線デバイスの数が入力されます。

戻り値

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

LINEERR_INVALAPPNAME、LINEERR_OPERATIONFAILED、LINEERR_INIFILECORRUPT、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_REINIT、LINEERR_NODRIVER、LINEERR_NODEVICE、LINEERR_NOMEM、LINEERR_NOMULTIPLEINSTANCE。

解説

LINEERR_REINITが返され、TAPI の再初期化が要求された場合 (テレフォニー サービス プロバイダーを追加または削除した結果など)、 lineInitialize 要求は、最後のアプリケーションが API の使用をシャットダウンするまで ( lineShutdown を使用して) このエラーで拒否されます。 その時点で、新しい構成が有効になり、アプリケーションは lineInitialize の呼び出しを再度許可されます。 LINEERR_INVALPARAMエラー値が返された場合、指定された hInstance パラメーターは無効です。

アプリケーションは、0 から dwNumDevs から 1 を引いた範囲の回線デバイス識別子を使用して、個々の回線デバイスを参照できます。 アプリケーションでは、最初に lineGetDevCapslineGetAddressCaps を使用してデバイスの機能に対してクエリを実行せずに、これらの回線デバイスが Basic テレフォニー サブセットで指定されているものを超える機能が可能であると想定しないでください。

アプリケーションは、(少なくとも監視のために) 行を開かずに lineInitialize を呼び出さないでください。 アプリケーションが監視されておらず、どのデバイスも使用していない場合は、 lineShutdown を呼び出して、不要な場合に Tapi.dll によって割り当てられたメモリ リソースを解放し、不要なときに Tapi.dll 自体をメモリからアンロードできるようにする必要があります。

lineShutdown を実行するもう 1 つの理由は、ユーザーがデバイスの構成を変更 (回線または電話を追加または削除) した場合、TAPI が、その時点で開いている回線または電話ハンドルを持つアプリケーションに通知する方法が存在しないということです。 再構成が行われ、LINEDEVSTATE_REINIT メッセージが送信された後、すべてのアプリケーションが lineShutdown を実行するまで、アプリケーションはデバイスを開けなくなります。 サービス プロバイダーが正しく初期化できない場合、この関数は失敗し、サービス プロバイダーによって示されるエラーを返します。

すべての TAPI プラットフォームで、 lineInitialize は LINEINITIALIZEEXOPTION_USEHIDDENWINDOW オプションを使用する lineInitializeEx と同じです。

要件

   
対象プラットフォーム Windows
ヘッダー tapi.h
Library Tapi32.lib
[DLL] Tapi32.dll

関連項目

LINECALLINFO

lineCallbackFunc

lineGetAddressCaps

lineGetDevCaps

lineInitializeEx

lineShutdown