次の方法で共有


TSPI_lineConditionalMediaDetection関数 (tspi.h)

TSPI_lineConditionalMediaDetection関数は、クライアント アプリケーションが lineOpen 関数呼び出しの dwDeviceID として LINEMAPPER を使用して、目的のメディアの種類と呼び出しパラメーターをサポートする行を検索するように要求するたびに TAPI によって呼び出されます。 TAPI は、目的のメディアタイプと現在ラインで監視されている他のメディアタイプの和集合に基づいてスキャンし、要求されたすべてのメディアタイプを同時に監視できないかどうかをサービスプロバイダーに示す機会を提供します。 サービス プロバイダーは、指定されたメディアの種類のセットを監視し、 lpCallParams に示されている機能をサポートできる場合は、成功を示して応答します。 この場合、行のアクティブなメディア監視モードは変更されません。

構文

LONG TSPIAPI TSPI_lineConditionalMediaDetection(
  HDRVLINE               hdLine,
  DWORD                  dwMediaModes,
  LPLINECALLPARAMS const lpCallParams
);

パラメーター

hdLine

メディア監視機能とパラメーター機能を設定する行に対するサービス プロバイダーのハンドル。

dwMediaModes

呼び出し元アプリケーションに現在関心があるメディアの種類。 このパラメーターでは、 LINEMEDIAMODE_定数のいずれかを使用します。

lpCallParams

LINECALLPARAMS 型の構造体へのポインター。 回線デバイスが提供できる呼び出しパラメーターについて説明します。 このテストの目的で lpCallParams の関連フィールドは次のとおりです。

dwBearerMode

dwMinRate

dwMaxRate

dwMediaMode

dwCallParamFlags

dwAddressMode

dwAddressMode がLINEADDRESSMODE_ADDRESSID場合は、行の任意のアドレスを使用できます。 dwAddressMode がLINEADDRESSMODE_DIALABLEADDR、特定の発信元アドレス (電話番号) が検索されることを示す場合、またはプロバイダー固有の拡張機能である場合は、dwOrigAddressSize/Offset と、参照する可変部分の部分も関連します。 dwAddressMode がプロバイダー固有の拡張機能の場合は、dwDeviceSpecific 可変サイズのフィールドに追加情報を含めることができます。 その他のすべてのフィールドは、関数とは無関係です。

戻り値

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

LINEERR_INVALLINEHANDLE、LINEERR_OPERATIONFAILED、LINEERR_NODRIVER、LINEERR_RESOURCEUNAVAIL、LINEERR_NOMEM、LINEERR_INVALMEDIAMODE、LINEERR_OPERATIONUNAVAIL。

注釈

通常、LINEMAPPER のデバイス識別子を指定する TAPI lineOpen 関数は、複数の回線デバイスに対してこのプロシージャを呼び出して適切な行を検索し、開いていない行も開く可能性があります。 成功した結果は、この行が呼び出し元アプリケーションの要件に適していることを示します。

メモ TSPI レベルで要求されるメディア監視モードは、TAPI レベルで複数のアプリケーションによって要求される監視モードの和集合です。 その結果、複数のメディアタイプフラグがこのレベルで同時に設定されるのが最も一般的です。 サービス プロバイダーは、現在有効なモードに関係なく、少なくとも指定されたセットをサポートできるかどうかをテストする必要があります。 TAPI を使用すると、 dwMediaModes パラメーターに少なくとも 1 つのビットが設定され、予約済みビットが設定されていないことが保証されます。 サービス プロバイダーがサポートしているメディアの種類の確認など、メディアの種類に関してそれ以上の有効性チェックを行うのは、サービス プロバイダーの責任です。
 
TSPI_lineConditionalMediaDetection関数は、LINECALLPARAMS 構造体の dwCallParamFlags メンバーに設定されているビットをチェックし、次のケースを処理します。

TSPI_lineConditionalMediaDetection関数は、同じビット値を TSPI_lineMakeCall 関数に渡しても成功を返す場合に成功を返します。

SECURE、ORIGOFFHOOK、および DESTOFFHOOK の各ビットが設定され、 dwAddressMode パラメーターがLINEADDRESSMODE_ADDRESSID場合、行の 1 つ以上のアドレスで成功できる場合、関数は成功を返します。

SECURE、ORIGOFFHOOK、および DESTOFFHOOK の各ビットが設定され、 dwAddressMode パラメーターがLINEADDRESSMODE_DIALABLEADDR場合、 dwOrigAddress パラメーターで識別されたアドレスで成功できる場合、関数は成功を返します。

サービス プロバイダーは、この関数が呼び出されたときに、指定した回線デバイスに新しい呼び出しを実行できない場合 (LINEERR_CALLUNAVAILを返す場合、または行を開いた直後に呼び出LINEERR_RESOURCEUNAVAIL TSPI_lineMakeCall必要がある場合) に、エラー ( たとえば、LINEERR_RESOURCEUNAVAIL ) を返します。

TAPI レベルに直接対応する関数はありません。 このプロシージャは、デバイス識別子 LINEMAPPER を使用して呼び出されたときに 、lineOpen プロシージャによって個々の行に対して暗黙的に示されるテストに対応します。

要件

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

こちらもご覧ください

LINECALLPARAMS

LINEMEDIAMODE_定数

TSPI_lineMakeCall