SERIAL_HANDFLOW 구조체(ntddser.h)
SERIAL_HANDFLOW 구조체는 직렬 포트에 대한 핸드셰이크 및 흐름 제어 설정을 지정합니다.
구문
typedef struct _SERIAL_HANDFLOW {
ULONG ControlHandShake;
ULONG FlowReplace;
LONG XonLimit;
LONG XoffLimit;
} SERIAL_HANDFLOW, *PSERIAL_HANDFLOW;
멤버
ControlHandShake
직렬 포트가 흐름 제어에 사용하는 제어선을 지정하는 비트 마스크입니다. 이 멤버는 0으로 설정되거나 비트 OR 또는 다음 플래그 중 하나 이상으로 설정됩니다.
값 | Description |
---|---|
SERIAL_DTR_CONTROL | DTR(데이터 터미널 준비)을 사용할 수 있습니다. |
SERIAL_DTR_HANDSHAKE | DTR은 입력 흐름 제어에 사용됩니다. |
SERIAL_CTS_HANDSHAKE | CTS(전송 지우기)는 출력 흐름 제어에 사용됩니다. |
SERIAL_DSR_HANDSHAKE | DSR(데이터 세트 준비)은 출력 흐름 제어에 사용됩니다. |
SERIAL_DCD_HANDSHAKE | DCD(데이터 통신 사업자 검색)는 출력 흐름 제어에 사용됩니다. |
SERIAL_DSR_SENSITIVITY | DSR 줄이 비활성 상태일 때 직렬 포트에 도착하는 문자를 무시합니다. |
SERIAL_ERROR_ABORT | 오류가 발생하는 경우 전송 또는 수신 작업을 중단합니다. |
SerCx2는 SERIAL_CTS_HANDSHAKE 플래그를 지원하며 직렬 컨트롤러 드라이버 및 직렬 컨트롤러 하드웨어의 기능에 따라 이 멤버에 대해 정의된 다른 6개 플래그를 지원하거나 지원하지 않을 수 있습니다. SerCx는 앞의 표에서 처음 네 개의 플래그만 지원합니다. Serial.sys 이전 표의 모든 플래그를 지원합니다.
FlowReplace
흐름 제어 동작을 지정하는 비트 마스크입니다. 이 멤버는 0으로 설정되거나 비트 OR 또는 다음 플래그 중 하나 이상으로 설정됩니다.
값 | Description |
---|---|
SERIAL_AUTO_TRANSMIT | 전송된 데이터의 흐름 제어에 XON/XOFF를 사용합니다. |
SERIAL_AUTO_RECEIVE | 수신된 데이터의 흐름 제어에 XON/XOFF를 사용합니다. |
SERIAL_ERROR_CHAR | 오류가 발생할 때 받은 데이터에 오류 문자를 삽입합니다. 자세한 내용은 SERIAL_CHARSErrorChar 멤버에 대한 설명을 참조하세요. |
SERIAL_NULL_STRIPPING | 수신된 데이터에서 null 문자를 자동으로 제거합니다. |
SERIAL_BREAK_CHAR | 중단이 발생할 때 수신된 데이터에 나누기 문자를 삽입합니다. 자세한 내용은 SERIAL_CHARSBreakChar 멤버에 대한 설명을 참조하세요. |
SERIAL_RTS_CONTROL | RTS(보내기 요청)가 사용하도록 설정됩니다. |
SERIAL_RTS_HANDSHAKE | RTS는 출력 흐름 제어에 사용됩니다. |
SERIAL_XOFF_CONTINUE | 줄의 다른 쪽 끝에 있는 디바이스로 XOFF를 보낸 후 계속 전송합니다. |
SerCx2는 SERIAL_RTS_CONTROL 및 SERIAL_RTS_HANDSHAKE 플래그를 지원하지만 일반적으로 직렬 컨트롤러 드라이버 및 직렬 컨트롤러 하드웨어의 기능에 따라 이 멤버에 대해 정의된 다른 6개의 플래그를 지원하지 않습니다. SerCx는 SERIAL_RTS_CONTROL 및 SERIAL_RTS_HANDSHAKE 플래그만 지원합니다. Serial.sys 이전 표의 모든 플래그를 지원합니다.
XonLimit
XON 제한. 내부 수신 버퍼의 문자 수가 XON 제한보다 낮으면 직렬 컨트롤러 드라이버는 흐름 제어 신호를 사용하여 보낸 사람에게 문자 보내기를 다시 시작하도록 지시합니다.
XoffLimit
XOFF 제한. 내부 수신 버퍼의 문자 수가 XOFF 제한에 도달하면 직렬 컨트롤러 드라이버는 흐름 제어 신호를 사용하여 보낸 사람에게 문자 전송을 중지하도록 지시합니다.
설명
이 구조체는 IOCTL_SERIAL_GET_HANDFLOW 및 IOCTL_SERIAL_SET_HANDFLOW 요청에 사용됩니다.
XOFF(전송 해제) 문자를 보낸 후 직렬 포트는 더 이상 문자를 보내지 않고 즉시 전송을 중지합니다. 이 동작은 XOFF를 따르는 모든 문자를 암시적 XON(전송 중)으로 해석하는 직렬 포트를 지원합니다.
SerCx2 및 SerCx는 ControlHandShake 및 FlowControl 멤버에 대해 정의된 플래그의 하위 집합만 지원합니다. 지원되지 않는 플래그를 지정하는 IOCTL_SERIAL_SET_HANDFLOW 요청은 STATUS_NOT_IMPLEMENTED 완료됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddser.h |