共用方式為


TSPI_lineGetID函式 (tspi.h)

TSPI_lineGetID函式會針對與選取的行、位址或呼叫相關聯的指定裝置類別,傳回裝置標識符。

語法

LONG TSPIAPI TSPI_lineGetID(
  HDRVLINE    hdLine,
  DWORD       dwAddressID,
  HDRVCALL    hdCall,
  DWORD       dwSelect,
  LPVARSTRING lpDeviceID,
  LPCWSTR     lpszDeviceClass,
  HANDLE      hTargetProcess
);

參數

hdLine

要查詢之行的服務提供者句柄。

dwAddressID

指定開啟行裝置上的位址。 位址標識符永久與地址相關聯;標識碼在操作系統升級之間維持不變。 呼叫此函式時,TAPI 不會驗證此參數。

hdCall

要查詢之呼叫的服務提供者句柄。

dwSelect

指定所要求的裝置標識碼是否與行、位址或單一呼叫相關聯。 dwSelect 參數只能有其中一個LINECALLSELECT_常數

lpDeviceID

VARSTRING 類型的記憶體位置指標,其中會傳回裝置標識碼。 成功完成要求時,此位置會填入裝置標識碼。 傳回資訊的格式取決於裝置類別所使用的方法, (API) 來命名裝置。

lpszDeviceClass

Null 終止 Unicode 字串的指標,指定要求標識碼之裝置的裝置類別。 有效的裝置類別字串是在 [System.ini] 區段中用來識別裝置類別 (,例如 COM、Wave 和 MCI.)

hTargetProcess

叫用 TSPI_lineGetID 函式的應用程式進程句柄。 如果 VARSTRING 結構中傳回的資訊包含供應用程式使用的句柄,服務提供者應該建立或複製進程的句柄。

如果 hTargetProcess 設定為 INVALID_HANDLE_VALUE,則應用程式會在遠端客戶端系統上執行,而且無法直接建立重複的句柄。 相反地, VARSTRING 結構應該包含網路裝置的 UNC 名稱,或是遠端用戶端可用來存取裝置的其他名稱。 如果無法這樣做,則函式應該會失敗。

傳回值

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

LINEERR_INVALLINEHANDLE、LINEERR_NOMEM、LINEERR_INVALADDRESSID、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_NODEVICE LINEERR_RESOURCEUNAVAIL。

備註

如果 dwSelect 是LINECALLSELECT_LINE或LINECALLSELECT_ADDRESS,且 hdLine 無效,則服務會傳回LINEERR_INVALLINEHANDLE。

如果 dwSelect 為LINECALLSELECT_CALL且 hdCall 無效,服務提供者會傳回LINEERR_INVALCALLHANDLE。

服務提供者應該支援 tapi/line 裝置類別,以允許應用程式判斷開啟行的實際行裝置識別碼。 在此情況下,傳回的變數數據是 dwDeviceID。 如需常見裝置類別名稱的詳細資訊,請參閱 TSPI 裝置類別

定義裝置特定媒體類型的廠商也需要定義對應的裝置特定 (專屬) API 來管理媒體類型的裝置。 為了避免不同廠商獨立指派的裝置類別名稱發生衝突,廠商應該選取可唯一識別廠商的名稱,然後選取媒體類型;例如:「intel/video」。

服務提供者會填入 VARSTRING 數據結構的所有成員,但 dwTotalSize 除外,而 DWTotalSize 則由 TAPI 填入。 服務提供者不得覆寫 dwTotalSize 成員。

服務提供者不需要擔心處理 tapi/line 和 tapi/phone 裝置類別,因為 TAPI 會處理服務提供者的這些類別。 因此,處理這些裝置類別的程式代碼是選擇性的。

規格需求

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

另請參閱

TSPI_lineGetDevConfig

TSPI_lineSetDevConfig

VARSTRING