lineMakeCall 函式會將指定行的呼叫放在指定的目的地位址。 如果要求了預設呼叫設定參數以外的任何參數,則可以選擇性地指定呼叫參數。
語法
LONG lineMakeCallW(
HLINE hLine,
LPHCALL lphCall,
LPCWSTR lpszDestAddress,
DWORD dwCountryCode,
LPLINECALLPARAMS const lpCallParams
);
參數
hLine
處理要產生呼叫的開啟線路裝置。
lphCall
HCALL 句柄的指標。 只有在應用程式收到 LINE_REPLY 訊息之後,句柄才有效,指出 lineMakeCall 函式已順利完成。 使用此句柄在呼叫上叫用其他電話語音作業時識別呼叫。 應用程式一開始是此呼叫的唯一擁有者。 如果函式傳回錯誤,此句柄為 void(由回覆訊息同步或異步)。
lpszDestAddress
目的地地址的指標。 這會遵循標準可撥號號碼格式。 此指標可以是非撥號位址的 NULL
dwCountryCode
所呼叫方的國家/地區代碼。 如果指定了 0 值,則實作會使用預設值。
lpCallParams
LINECALLPARAMS 結構的指標。 此結構可讓應用程式指定要如何設定呼叫。 如果指定 NULL,則會建立預設的 3.1 kHz 語音通話,並選取該行上的任意原點位址。 此結構可讓應用程式選取專案,例如呼叫的持有人模式、數據速率、預期的媒體模式、原點位址、封鎖來電者標識符資訊,以及撥號參數。
傳回值
如果函式是以異步方式完成,則傳回正要求標識碼,如果發生錯誤,則傳回負錯誤號碼。 如果函式成功,則對應 LINE_REPLY 訊息的 dwParam2 參數為零,如果發生錯誤,則為負錯誤號碼。 可能的傳回值為:
LINEERR_ADDRESSBLOCKED、LINEERR_INVALLINEHANDLE、LINEERR_BEARERMODEUNAVAIL、LINEERR_INVALLINESTATE、LINEERR_CALLUNAVAIL、LINEERR_INVALMEDIAMODE、LINEERR_DIALBILLING、LINEERR_INVALPARAM、LINEERR_DIALDIALTONE、LINEERR_INVALPOINTER、LINEERR_DIALPROMPT、LINEERR_INVALRATE、LINEERR_DIALQUIET、LINEERR_NOMEM、LINEERR_INUSE、LINEERR_OPERATIONFAILED、LINEERR_INVALADDRESS、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALADDRESSID、LINEERR_RATEUNAVAIL、LINEERR_INVALADDRESSMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALBEARERMODE、LINEERR_STRUCTURETOOSMALL、LINEERR_INVALCALLPARAMS、LINEERR_UNINITIALIZED、LINEERR_INVALCOUNTRYCODE、LINEERR_USERUSERINFOTOOBIG。
言論
如果傳回LINEERR_INVALLINESTATE,該行目前不是執行此作業的狀態。 在 LINEDEVSTATUS 結構中的 dwLineFeatures 成員 LINEFEATURE_中,可以找到目前有效作業的清單。 呼叫
撥號完成之後,通常會傳送數個 LINE_CALLSTATE 訊息給應用程式,以通知其通話進度。 未指定一般有效的呼叫狀態轉換序列,因為實際上無法保證單一固定的轉換序列。 一般序列可能會導致呼叫從 撥號、撥號、繼續、回撥連線。 使用非撥號線路時,呼叫通常可以直接轉換為 連線 狀態。
應用程式可以選擇在指定的線路裝置上指定原始位址。 將交換器上所有月臺模型化為單一線路裝置上地址的服務提供者,可讓應用程式使用 lineMakeCall從上述任何月臺發出呼叫。
通話參數可讓應用程式進行非語音通話,或要求預設無法使用的特殊通話設定選項。
應用程式可以使用 lineMakeCall 部分撥號,並使用 lineDial繼續撥號。 如需部分撥號的詳細資訊,請參閱 lineDial 和 TSPI_lineMakeCall。 若要放棄呼叫嘗試,請使用 lineDrop。
lineMakeCall 傳回應用程式成功回復訊息之後,會將LINE_CALLSTATE訊息傳送至應用程式,以指出呼叫的目前狀態。 此狀態不一定LINECALLSTATE_DIALTONE。
此函式可能會以未加密的形式透過網路傳送數據;因此,網路上有人竊聽可能會讀取數據。 使用此方法之前,應該先考慮以純文本傳送數據的安全性風險。
注意
tapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 lineMakeCall 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
| 要求 | 價值 |
|---|---|
| 目標平臺 | 窗戶 |
| 標頭 | tapi.h |
| 連結庫 | Tapi32.lib |
| DLL | Tapi32.dll |