comm/datamodem
comm/datamodem 裝置類別是由 datamodem 裝置所組成。 您可以使用 檔案 和 通訊函式來存取這些裝置,。 此類別中的裝置會與支援LINEMEDIAMODE_DATAMODEM媒體類型的線路裝置相關聯,該類型是在 LINEDEVCAPS 結構的 dwMediaModes 成員中指定。
lineGetID 函式會填滿 VARSTRING 結構、將 dwStringForm at 設定為STRINGFORMAT_BINARY值,並附加這些額外的成員:
HANDLE hComm; // file handle to data modem
CHAR szDeviceName[1]; // name of data modem
hComm 成員是開啟通訊埠的句柄。 如果埠尚未開啟,或是 lineGetID 的 dwSelect 參數不是LINECALLSELECT_CALL值,則此成員會 NULL。 如果呼叫作用中,服務提供者通常會開啟埠本身以直接控制通訊硬體,但只有在連線線路時才需要傳回有效的句柄。 服務提供者會使用 FILE_FLAG_OVERLAPPED 值開啟埠,然後使用 lineSetDevConfig 函式所指定的設定來設定埠。 您可以使用通訊函式搭配傳回的句柄來設定裝置的其他組態選項。
szDeviceName 成員是 null終止字串,指定與行、位址或呼叫相關聯的通訊埠名稱。
如果 hComm 是有效的句柄,您可以在後續呼叫檔案函式時使用它,例如 ReadFile 和 WriteFile,以在呼叫上傳送和接收數據。 當您完成使用通訊埠,最好在使用 lineDeallocateCall 函式來解除分配呼叫之前,您必須使用 CloseHandle 函式來關閉埠。
使用 lineGetDevConfig 和 lineSetDevConfig 函式時,某些服務提供者會要求此裝置類別的設定數據具有下列格式:
typedef struct tagDEVCFG {
DEVCFGHDR dfgHdr;
COMMCONFIG commconfig;
} DEVCFG, *PDEVCFG, FAR* LPDEVCFG;
// Device setting information
typedef struct tagDEVCFGDR {
DWORD dwSize;
DWORD dwVersion;
WORD fwOptions;
WORD wWaitBong;
} DEVCFGHDR;
以下是與 lineGetDevConfig 和 lineSetDevConfig 函式搭配使用的裝置組態資訊。
-
dwSize
-
DEVCFGHDR 結構的大小和 COMMCONFIG 結構的實際大小總和。
-
dwVersion
-
Unimodem DevConfig 結構的版本號碼。 這個成員可以是MDMCFG_VERSION(0x00010003)。
-
fwOptions
-
出現在 Unimodem 選項頁面上的選項旗標。 這個成員可以是這些值的組合:
-
TERMINAL_PRE (1)
-
顯示終端機前畫面。
-
TERMINAL_POST (2)
-
顯示終端機後畫面。
-
MANUAL_DIAL (4)
-
如果能夠這麼做,請手動撥打電話。
-
LAUNCH_LIGHTS (8)
-
在任務列的狀態區域中顯示數據機圖示。
預設只會設定LAUNCH_LIGHTS值
-
-
wWaitBong
-
秒數(以兩秒為單位)取代信用音調($) 的等待時間。
-
Commconfig
-
COMMCONFIG 結構,可與通訊和數據機組態功能搭配使用。