estrutura SERIAL_STATUS (ntddser.h)
A estrutura SERIAL_STATUS contém status informações sobre a porta serial.
Sintaxe
typedef struct _SERIAL_STATUS {
ULONG Errors;
ULONG HoldReasons;
ULONG AmountInInQueue;
ULONG AmountInOutQueue;
BOOLEAN EofReceived;
BOOLEAN WaitForImmediate;
} SERIAL_STATUS, *PSERIAL_STATUS;
Membros
Errors
Um conjunto de sinalizadores para indicar os erros de recebimento que ocorreram no fluxo de entrada. Esse membro é definido como zero ou como OR bit a bit de um ou mais dos bits de sinalizador a seguir.
Nome do sinalizador | Significado |
---|---|
SERIAL_ERROR_QUEUEOVERRUN | O buffer de entrada interno do driver do controlador serial foi invadido por dados recebidos do fluxo de entrada. O buffer de entrada está cheio ou um caractere foi recebido após o caractere EOF (fim do arquivo). |
SERIAL_ERROR_OVERRUN | O FIFO de recebimento de hardware foi invadido por dados recebidos do fluxo de entrada. |
SERIAL_ERROR_BREAK | Ocorreu uma condição de interrupção na linha de entrada. |
SERIAL_ERROR_PARITY | Um erro de paridade foi detectado em um byte recebido do fluxo de entrada. |
SERIAL_ERROR_FRAMING | Um erro de enquadramento foi detectado nos bytes recebidos do fluxo de entrada. |
Depois que o driver do controlador serial fornece os sinalizadores SERIAL_ERROR_XXX acumulados para atender a uma solicitação de IOCTL_SERIAL_GET_COMMSTATUS , o driver redefine os sinalizadores como zero.
HoldReasons
Um conjunto de sinalizadores para indicar os motivos pelos quais a porta serial está aguardando para transmitir bytes para o fluxo de saída. Esse membro é definido como zero ou como OR bit a bit de um ou mais dos bits de sinalizador a seguir.
Nome do sinalizador | Significado |
---|---|
SERIAL_TX_WAITING_FOR_CTS | Aguardando o sinal CTS (limpar para enviar). |
SERIAL_TX_WAITING_FOR_DSR | Aguardando o sinal DSR (conjunto de dados pronto). |
SERIAL_TX_WAITING_FOR_DCD | Aguardando o sinal DCD (detecção da operadora de dados). |
SERIAL_TX_WAITING_FOR_XON | Aguardando o sinal XON (transmitir). |
SERIAL_TX_WAITING_ON_BREAK | Enviando um sinal de interrupção (valor de espaçamento). |
SERIAL_TX_WAITING_XOFF_SENT | Enviou um sinal XOFF (transmissão desativada). Esse sinal marca o fim da transmissão da porta serial, que aguarda o dispositivo na outra extremidade da linha iniciar a transmissão. O outro dispositivo recebe o sinal XOFF transmitido como um sinal XON. |
HoldReasons será zero se a porta serial não tiver motivo para interromper a transmissão de bytes.
AmountInInQueue
O número de bytes de dados recebidos da porta serial que estão atualmente disponíveis para serem lidos do buffer de entrada.
AmountInOutQueue
O número de bytes de dados de transmissão que estão atualmente esperando para serem gravados do buffer de saída para a porta serial.
EofReceived
Se um caractere EOF (fim do arquivo) foi recebido. Esse membro será TRUE se um EOF tiver sido recebido. Caso contrário, será FALSE. O caractere EOF marca o final do fluxo de entrada.
WaitForImmediate
Se a porta serial está aguardando para transmitir um caractere imediato. Esse membro será TRUE se a porta serial estiver aguardando para transmitir um caractere imediato. Caso contrário, será FALSE. A transmissão de um caractere imediato poderá ser atrasada se qualquer bit de sinalizador diferente de SERIAL_TX_WAITING_FOR_XON estiver definido no membro HoldReasons . Para obter mais informações sobre caracteres imediatos, consulte IOCTL_SERIAL_IMMEDIATE_CHAR.
Comentários
Essa estrutura é usada pela solicitação IOCTL_SERIAL_GET_COMMSTATUS .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | ntddser.h |