comm/datamodem
comm/datamodem 裝置類別包含 datamodem 裝置。 您可以使用 檔案 和 通訊功能來存取這些裝置。 此類別中的裝置會與支援LINEMEDIAMODE_DATAMODEM媒體類型的線路裝置相關聯,該類型是在線路裝置 LINEDEVCAPS結構的dwMediaModes成員中指定。
lineGetID函式會填滿VARSTRING結構、將dwStringFormat設定為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結構。