DCB 구조체(winbase.h)
직렬 통신 디바이스에 대한 제어 설정을 정의합니다.
구문
typedef struct _DCB {
DWORD DCBlength;
DWORD BaudRate;
DWORD fBinary : 1;
DWORD fParity : 1;
DWORD fOutxCtsFlow : 1;
DWORD fOutxDsrFlow : 1;
DWORD fDtrControl : 2;
DWORD fDsrSensitivity : 1;
DWORD fTXContinueOnXoff : 1;
DWORD fOutX : 1;
DWORD fInX : 1;
DWORD fErrorChar : 1;
DWORD fNull : 1;
DWORD fRtsControl : 2;
DWORD fAbortOnError : 1;
DWORD fDummy2 : 17;
WORD wReserved;
WORD XonLim;
WORD XoffLim;
BYTE ByteSize;
BYTE Parity;
BYTE StopBits;
char XonChar;
char XoffChar;
char ErrorChar;
char EofChar;
char EvtChar;
WORD wReserved1;
} DCB, *LPDCB;
멤버
DCBlength
구조체의 길이(바이트)입니다. 호출자는 이 멤버를 sizeof(DCB)
로 설정해야 합니다.
BaudRate
통신 디바이스가 작동하는 전송 속도입니다. 이 멤버는 실제 전송 속도 값 또는 다음 인덱스 중 하나일 수 있습니다.
fBinary
이 멤버가 TRUE이면 이진 모드가 활성화됩니다. Windows는 비진단 모드 전송을 지원하지 않으므로 이 멤버는 TRUE여야 합니다.
fParity
이 멤버가 TRUE이면 패리티 검사가 수행되고 오류가 보고됩니다.
fOutxCtsFlow
이 멤버가 TRUE이면 출력 흐름 제어를 위해 CTS(전송 취소) 신호가 모니터링됩니다. 이 멤버가 TRUE 이고 CTS가 꺼져 있으면 CTS가 다시 전송될 때까지 출력이 일시 중단됩니다.
fOutxDsrFlow
이 멤버가 TRUE이면 출력 흐름 제어를 위해 DSR(데이터 세트 준비) 신호가 모니터링됩니다. 이 멤버가 TRUE 이고 DSR이 꺼져 있으면 DSR이 다시 전송될 때까지 출력이 일시 중단됩니다.
fDtrControl
DTR(데이터 터미널 준비) 흐름 제어입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
디바이스가 열리고 비활성화된 상태로 두면 DTR 줄을 사용하지 않도록 설정합니다. |
|
디바이스를 열고 그대로 둘 때 DTR 줄을 사용하도록 설정합니다. |
|
DTR 핸드셰이크를 사용하도록 설정합니다. 핸드셰이크를 사용하는 경우 애플리케이션이 EscapeCommFunction 함수를 사용하여 줄을 조정하는 것은 오류입니다. |
fDsrSensitivity
이 멤버가 TRUE이면 통신 드라이버는 DSR 신호의 상태에 민감합니다. DSR 모뎀 입력 줄이 높지 않으면 드라이버는 수신된 바이트를 무시합니다.
fTXContinueOnXoff
이 멤버가 TRUE이면 입력 버퍼가 XoffLim 바이트 내에 가득 차고 드라이버가 XoffChar 문자를 전송하여 바이트 수신을 중지한 후에도 전송이 계속됩니다. 이 멤버가 FALSE이면 입력 버퍼가 비어 있는 XonLim 바이트 내에 있고 드라이버가 XonChar 문자를 전송하여 수신을 다시 시작할 때까지 전송이 계속되지 않습니다.
fOutX
전송 중에 XON/XOFF 흐름 제어가 사용되는지 여부를 나타냅니다. 이 멤버가 TRUE이면 XoffChar 문자가 수신되면 전송이 중지되고 XonChar 문자가 수신되면 다시 시작됩니다.
fInX
수신 중에 XON/XOFF 흐름 제어가 사용되는지 여부를 나타냅니다. 이 멤버가 TRUE이면 입력 버퍼가 XoffLim 바이트 내에 가득 차면 XoffChar 문자가 전송되고 입력 버퍼가 비어 있는 XonLim 바이트 내에 오면 XonChar 문자가 전송됩니다.
fErrorChar
패리티 오류로 수신된 바이트를 ErrorChar 멤버가 지정한 문자로 바꿀지 여부를 나타냅니다. 이 멤버가 TRUE 이고 fParity 멤버가 TRUE이면 대체가 발생합니다.
fNull
이 멤버가 TRUE이면 수신 시 null 바이트가 삭제됩니다.
fRtsControl
RTS(요청-송신) 흐름 제어입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
디바이스를 열고 사용하지 않도록 설정할 때 RTS 줄을 사용하지 않도록 설정합니다. |
|
디바이스를 열고 그대로 두면 RTS 라인을 사용하도록 설정합니다. |
|
RTS 핸드셰이크를 사용하도록 설정합니다. 드라이버는 "type-ahead"(입력) 버퍼가 1/2 미만이면 RTS 라인을 발생시키고 버퍼가 3분의 1이 넘으면 RTS 라인을 낮춥니다. 핸드셰이크를 사용하도록 설정한 경우 애플리케이션이 EscapeCommFunction 함수를 사용하여 줄을 조정하는 것은 오류입니다. |
|
바이트를 전송할 수 있는 경우 RTS 라인이 높아지게 지정합니다. 버퍼링된 모든 바이트가 전송되면 RTS 줄이 낮아집니다. |
fAbortOnError
이 멤버가 TRUE이면 드라이버가 오류가 발생하는 경우 오류 상태 모든 읽기 및 쓰기 작업을 종료합니다. 애플리케이션이 ClearCommError 함수를 호출하여 오류를 승인할 때까지 드라이버는 추가 통신 작업을 수락하지 않습니다.
fDummy2
예약되어 있으므로 사용하지 마세요.
wReserved
예약; 0이어야 합니다.
XonLim
흐름 제어가 활성화되기 전에 입력 버퍼에서 허용되는 최소 사용 바이트 수는 보낸 사람의 전송을 허용합니다. XON/XOFF, RTS 또는 DTR 입력 흐름 제어가 fInX, fRtsControl 또는 fDtrControl 멤버에 지정되어 있다고 가정합니다.
XoffLim
흐름 제어가 활성화되기 전에 입력 버퍼에서 허용되는 최소 사용 가능한 바이트 수로 발신자를 억제합니다. 발신자는 흐름 제어 신호가 활성화된 후 문자를 전송할 수 있으므로 이 값은 0이 되어서는 안 됩니다. XON/XOFF, RTS 또는 DTR 입력 흐름 제어가 fInX, fRtsControl 또는 fDtrControl 멤버에 지정되어 있다고 가정합니다. 허용되는 최대 바이트 수는 입력 버퍼의 크기(바이트)에서 이 값을 빼서 계산됩니다.
ByteSize
전송 및 수신된 바이트의 비트 수입니다.
Parity
사용할 패리티 체계입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
패리티도 있습니다. |
|
패리티를 표시합니다. |
|
패리티가 없습니다. |
|
홀수 패리티. |
|
공간 패리티. |
StopBits
사용할 중지 비트 수입니다. 이 멤버는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
1 중지 비트. |
|
1.5 중지 비트. |
|
중지 비트 2개. |
XonChar
전송 및 수신 모두에 대한 XON 문자의 값입니다.
XoffChar
전송 및 수신 모두에 대한 XOFF 문자의 값입니다.
ErrorChar
수신된 바이트를 패리티 오류로 바꾸는 데 사용되는 문자의 값입니다.
EofChar
데이터 끝을 알리는 데 사용되는 문자의 값입니다.
EvtChar
이벤트를 신호하는 데 사용되는 문자의 값입니다.
wReserved1
예약되어 있으므로 사용하지 마세요.
설명
DCB 구조체를 사용하여 8250을 구성하는 경우 ByteSize 및 StopBits 멤버에 지정된 값에 다음 제한이 적용됩니다.
- 데이터 비트 수는 5~8비트여야 합니다.
- 2개의 중지 비트가 있는 5개의 데이터 비트를 사용하는 것은 1.5개의 중지 비트가 있는 6, 7 또는 8개의 데이터 비트와 같이 잘못된 조합입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP |
지원되는 최소 서버 | Windows Server 2003 |
머리글 | winbase.h(Windows.h 포함) |