共用方式為


TSPI_lineConditionalMediaDetection函式 (tspi.h)

每當用戶端應用程式使用 LINEMAPPER 作為 lineOpen 函數調用中的 dwDeviceID 時,TAPI 就會叫用TSPI_lineConditionalMediaDetection函式,要求掃描該行以支援所需的媒體類型和呼叫參數。 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 可變大小字段。 所有其他欄位都與函式無關。

傳回值

如果函式成功或發生錯誤,則傳回零。 可能的傳回值如下所示:

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

備註

TAPI lineOpen 函式,指定 LINEMAPPER 的裝置識別碼通常會導致呼叫此程式,讓多行裝置搜捕適當的行,可能也會開啟尚未開啟的行。 成功結果表示該行適用於呼叫應用程式的需求。

注意 TSPI 層級要求的媒體監視模式是 TAPI 層級上多個應用程式所要求的監視模式聯集。 因此,最常見的是在此層級同時設定多個媒體類型旗標。 不論目前作用中的模式為何,服務提供者都必須測試,以判斷它是否可以支援至少指定的集合。 TAPI 可確保 dwMediaModes 參數至少有一個位集,而且未設定任何保留位。 服務提供者必須負責對媒體類型執行任何進一步的有效性檢查,例如檢查服務提供者是否支援任何媒體類型。
 
TSPI_lineConditionalMediaDetection函式會檢查 LINECALLPARAMS 結構之 dwCallParamFlags 成員中設定的位,並處理下列情況:

如果將相同的位值傳遞至TSPI_lineMakeCall函式,TSPI_lineConditionalMediaDetection函式也會傳回成功。

如果已設定 SECURE、ORIGOFFHOOK 和 DESTOFFHOOK 位,且 dwAddressMode 參數是LINEADDRESSMODE_ADDRESSID,則函式會在行上的一或多個位址上成功時傳回成功。

如果已設定 SECURE、ORIGOFFHOOK 和 DESTOFFHOOK 位,且 dwAddressMode 參數是LINEADDRESSMODE_DIALABLEADDR,如果函式可以在 dwOrigAddress 參數所識別的位址上成功,則函式會傳回成功。

例如,服務提供者會傳回錯誤 (,LINEERR_RESOURCEUNAVAIL) 如果呼叫此函式时,如果呼叫此函式時,無法在指定的線路裝置上 (新的呼叫,如果傳回LINEERR_CALLUNAVAIL或LINEERR_RESOURCEUNAVAIL應該在開啟行之後立即叫 TSPI_lineMakeCall用) 。

TAPI 層級沒有直接對應的函式。 此程式會對應至使用裝置標識碼 LINEMAPPER 呼叫時 ,lineOpen 程式所隱含每個個別行的測試。

規格需求

需求
目標平台 Windows
標頭 tspi.h

另請參閱

LINECALLPARAMS

LINEMEDIAMODE_常數

TSPI_lineMakeCall