comm/datamodem
comm/datamodem 디바이스 클래스는 datamodem 디바이스로 구성됩니다. 파일 및 통신 기능을 사용하여 이러한 디바이스에 액세스합니다. 이 클래스의 디바이스는 줄 디바이스에 대한 LINEDEVCAPS 구조의 dwMediaModes 멤버에 지정된 LINEMEDIAMODE_DATAMODEM 미디어 형식을 지원하는 선 디바이스와 연결됩니다.
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
-
크레딧 톤($)에 대한 대기를 대체할 초(2초 단위)입니다.
-
Commconfig
-
통신 및 모뎀 구성 함수와 함께 사용할 수 있는 COMMCONFIG 구조체입니다.