SERIAL_STATUS 구조체(ntddser.h)
SERIAL_STATUS 구조에는 직렬 포트에 대한 상태 정보가 포함됩니다.
구문
typedef struct _SERIAL_STATUS {
ULONG Errors;
ULONG HoldReasons;
ULONG AmountInInQueue;
ULONG AmountInOutQueue;
BOOLEAN EofReceived;
BOOLEAN WaitForImmediate;
} SERIAL_STATUS, *PSERIAL_STATUS;
멤버
Errors
입력 스트림에서 발생한 수신 오류를 나타내는 플래그 집합입니다. 이 멤버는 다음 플래그 비트 중 하나 이상의 비트 OR 또는 0으로 설정됩니다.
플래그 이름 | 의미 |
---|---|
SERIAL_ERROR_QUEUEOVERRUN | 직렬 컨트롤러 드라이버의 내부 입력 버퍼는 입력 스트림에서 받은 데이터에 의해 오버런되었습니다. 입력 버퍼가 가득 차거나 EOF(파일 끝) 문자 뒤에 문자가 수신되었습니다. |
SERIAL_ERROR_OVERRUN | 하드웨어 수신 FIFO는 입력 스트림에서 받은 데이터에 의해 오버런되었습니다. |
SERIAL_ERROR_BREAK | 입력 줄에서 중단 조건이 발생했습니다. |
SERIAL_ERROR_PARITY | 입력 스트림에서 받은 바이트에서 패리티 오류가 검색되었습니다. |
SERIAL_ERROR_FRAMING | 입력 스트림에서 받은 바이트에서 프레이밍 오류가 감지되었습니다. |
직렬 컨트롤러 드라이버가 IOCTL_SERIAL_GET_COMMSTATUS 요청을 충족하기 위해 누적된 SERIAL_ERROR_XXX 플래그를 제공한 후 드라이버는 플래그를 0으로 다시 설정합니다.
HoldReasons
직렬 포트가 현재 출력 스트림으로 바이트를 전송하기 위해 대기하는 이유를 나타내는 플래그 집합입니다. 이 멤버는 다음 플래그 비트 중 하나 이상의 비트 OR 또는 0으로 설정됩니다.
플래그 이름 | 의미 |
---|---|
SERIAL_TX_WAITING_FOR_CTS | CTS(전송 지우기) 신호를 기다리는 중입니다. |
SERIAL_TX_WAITING_FOR_DSR | DSR(데이터 세트 준비) 신호를 기다리는 중입니다. |
SERIAL_TX_WAITING_FOR_DCD | DCD(데이터 통신 사업자 감지) 신호를 대기합니다. |
SERIAL_TX_WAITING_FOR_XON | XON(전송 켜기) 신호를 기다리는 중입니다. |
SERIAL_TX_WAITING_ON_BREAK | 중단(간격 값) 신호 보내기 |
SERIAL_TX_WAITING_XOFF_SENT | XOFF(전송 해제) 신호를 보냈습니다. 이 신호는 직렬 포트에서 전송의 끝을 표시한 다음, 줄의 다른 쪽 끝에 있는 디바이스가 전송을 시작할 때까지 기다립니다. 다른 디바이스는 전송된 XOFF 신호를 XON 신호로 수신합니다. |
직렬 포트에 바이트 전송을 중지할 이유가 없는 경우 HoldReasons는 0입니다.
AmountInInQueue
현재 입력 버퍼에서 읽을 수 있는 직렬 포트에서 받은 데이터 바이트 수입니다.
AmountInOutQueue
현재 출력 버퍼에서 직렬 포트로 기록되기를 기다리는 전송 데이터의 바이트 수입니다.
EofReceived
EOF(파일 끝) 문자가 수신되었는지 여부입니다. EOF가 수신된 경우 이 멤버는 TRUE 입니다. 그렇지 않으면 FALSE입니다. EOF 문자는 입력 스트림의 끝을 표시합니다.
WaitForImmediate
직렬 포트가 즉시 문자를 전송하기 위해 대기하는지 여부입니다. 직렬 포트가 직접 문자를 전송하기 위해 대기하는 경우 이 멤버는 TRUE 입니다. 그렇지 않으면 FALSE입니다. HoldReasons 멤버에 SERIAL_TX_WAITING_FOR_XON 이외의 플래그 비트가 설정된 경우 즉시 문자의 전송이 지연될 수 있습니다. 직접 문자에 대한 자세한 내용은 IOCTL_SERIAL_IMMEDIATE_CHAR 참조하세요.
설명
이 구조체는 IOCTL_SERIAL_GET_COMMSTATUS 요청에 사용됩니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | ntddser.h |