次の方法で共有


TSPI_phoneOpen関数 (tspi.h)

TSPI_phoneOpen関数は、デバイス識別子が指定された電話デバイスを開き、デバイスのサービス プロバイダーの不透明なハンドルを返し、PHONEEVENT プロシージャの後続の呼び出しで使用するためにデバイスの TAPI の不透明なハンドルを保持します。

構文

LONG TSPIAPI TSPI_phoneOpen(
  DWORD       dwDeviceID,
  HTAPIPHONE  htPhone,
  LPHDRVPHONE lphdPhone,
  DWORD       dwTSPIVersion,
  PHONEEVENT  lpfnEventProc
);

パラメーター

dwDeviceID

開く電話デバイス。

htPhone

PHONEEVENT コールバック プロシージャへの後続の呼び出しでデバイスを識別するために使用される 電話 デバイスの TAPI 不透明ハンドル。

lphdPhone

サービス プロバイダーが、デバイスを識別するための後続の呼び出しで TAPI によって使用される電話デバイスのハンドルを書き込む HDRVPHONE へのポインター。

dwTSPIVersion

サービス プロバイダーが動作できる TSPI_phoneNegotiateTSPIVersion を介してネゴシエートされた TSPI バージョン。

lpfnEventProc

サービス プロバイダーが電話で後続のイベントを報告するために呼び出す TAPI によって提供される PHONEEVENT コールバック プロシージャへのポインター。

戻り値

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

PHONEERR_ALLOCATED、PHONEERR_NOMEM、PHONEERR_INCOMPATIBLEAPIVERSION、PHONEERR_RESOURCEUNAVAIL、PHONEERR_NODRIVER、PHONEERR_OPERATIONFAILED、PHONEERR_INUSE、PHONEERR_OPERATIONUNAVAIL、PHONEERR_INIFILECORRUPT。

解説

電話を開くと、TAPI が電話でさらに要求を行う権利が与えられます。 電話は、サービス プロバイダーがフックスイッチの変更やボタンの押しなどの非同期イベントを報告できるという意味でアクティブになります。 サービス プロバイダーは、電話を管理するために必要な非共有リソースを予約します。 たとえば、comm ポートとモデムを介してアクセスされる電話を開くと、comm ポートが開き、他のアプリケーションで使用できなくなる必要があります。

関数が成功すると、TAPI とサービス プロバイダーの両方が、この開いているデバイスの指定されたインターフェイス バージョン番号で動作するようにコミットされます。 交換された不透明な電話ハンドルを使用して識別された後続の操作とイベントは、そのインターフェイス バージョンに準拠しています。 このコミットメントとハンドルの有効性は、TAPI が TSPI_phoneClose を使用して電話を閉じるまで、またはサービス プロバイダーが PHONE_CLOSE イベントを報告するまで有効です。 関数が成功しなかった場合、そのようなコミットメントは行われず、ハンドルは無効です。

要件

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

関連項目

PHONEEVENT

PHONE_CLOSE

TSPI_phoneClose

TSPI_phoneNegotiateTSPIVersion