次の方法で共有


TUISPI_providerRemove関数 (tspi.h)

TUISPI_providerRemove関数は、サービス プロバイダーの削除を確認するようにユーザーに求めます。 この関数により、 バージョン 2.0 以降 (バージョン 1.4 以前でサポート) でTSPI_providerRemove関数が廃止されます。

サービス プロバイダーは、 addProvider 時にサービス プロバイダーが追加したレジストリ エントリと、不要になったその他のモジュールとファイルを削除する必要があります。

実装は省略可能です。

構文

LONG TSPIAPI TUISPI_providerRemove(
  TUISPIDLLCALLBACK lpfnUIDLLCallback,
  HWND              hwndOwner,
  DWORD             dwPermanentProviderID
);

パラメーター

lpfnUIDLLCallback

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

hwndOwner

関数が削除時に必要なダイアログ ボックス ウィンドウを作成できる親ウィンドウのハンドル。

dwPermanentProviderID

サービス プロバイダーの永続的なプロバイダー識別子。

戻り値

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

LINEERR_OPERATIONFAILED、LINEERR_INIFILECORRUPT、LINEERR_NOMEM、LINEERR_INVALPARAM。

解説

この関数は、成功を返す場合、サービス プロバイダーのプライベートに定義された情報がレジストリから削除されることを保証する必要があります。

この手順は、システムを一貫した状態のままにしておく必要があります。 完了まで実行する必要があり、部分的に完了したときにユーザーが削除を中止することはできません。 削除が失敗した場合、実行された処理を "バックアウト" し、エラーを返すのはプロバイダーの責任です。 これは、削除が開始される前に、完全な削除が可能であることを確認するための事前スキャンを意味する可能性があります。

この関数は、サービス プロバイダーが使用中 (つまり、 TSPI_providerInitTSPI_providerShutdownの間) に呼び出すことができます。 この場合、サービス プロバイダーは、競合を通知して削除を確認するユーザー ダイアログ ボックスを表示する適切な組み合わせを行う必要があります。また、透過的に実行できるオプションに削除オプションを制限するか、 LINE_CLOSE メッセージと PHONE_CLOSE メッセージを発行して、影響を受けるデバイスが強制的に削除のために閉じられたことを TAPI とアプリケーションに通知する必要があります。 いずれの場合も、TSPI によって表示される動作に影響を与える変更は、サービス プロバイダーが次の TSPI_providerShutdownでシャットダウンされた場合にのみ有効になります。

メモ この関数は、プロバイダーがアプリケーションによって使用されているために発生する可能性のあるLINEERR_INUSEやその他のエラーを返さないでください。代わりに、プロバイダーはユーザーにこの問題について直接話し合い、ユーザーが操作を中止することを決定した場合はLINEERR_OPERATIONFAILEDを返す必要があります。
 
このプロシージャは、サービス プロバイダーの削除時に、 TUISPI_providerInstallの呼び出しが発生するまで 1 回だけ呼び出されます。

TAPI レベルの対応する関数は lineRemoveProvider です。 そのレベルでは、アプリケーションにはサービス プロバイダーが既にインストールされている必要があります。それ以外の場合、その回線と電話機は、デバイス識別子の使用可能なシーケンス内に表示されません。 LINE_CREATE メッセージは、動的再構成について実行されているアプリケーションに通知します。

要件

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

関連項目

LINE_CLOSE

PHONE_CLOSE

PHONE_STATE

TSPI_providerInit

TSPI_providerShutdown

TUISPI_providerInstall