Compartilhar via


estrutura SERIAL_COMMPROP (ntddser.h)

A estrutura SERIAL_COMMPROP especifica as propriedades de uma porta serial.

Sintaxe

typedef struct _SERIAL_COMMPROP {
  USHORT PacketLength;
  USHORT PacketVersion;
  ULONG  ServiceMask;
  ULONG  Reserved1;
  ULONG  MaxTxQueue;
  ULONG  MaxRxQueue;
  ULONG  MaxBaud;
  ULONG  ProvSubType;
  ULONG  ProvCapabilities;
  ULONG  SettableParams;
  ULONG  SettableBaud;
  USHORT SettableData;
  USHORT SettableStopParity;
  ULONG  CurrentTxQueue;
  ULONG  CurrentRxQueue;
  ULONG  ProvSpec1;
  ULONG  ProvSpec2;
  WCHAR  ProvChar[1];
} SERIAL_COMMPROP, *PSERIAL_COMMPROP;

Membros

PacketLength

O tamanho, em bytes, do pacote de dados que começa com essa estrutura e que contém os dados de propriedade solicitados. Esse tamanho inclui a estrutura SERIAL_COMMPROP e quaisquer elementos adicionais da matriz ProvChar que seguem essa estrutura.

PacketVersion

A versão dessa estrutura. O número da versão atual é 2.

ServiceMask

Uma máscara de bits que indica quais serviços são implementados por esse provedor de comunicações. Esse membro é sempre definido como SERIAL_SP_SERIALCOMM por provedores de comunicação serial, incluindo provedores de modem. O membro ProvSubType indica o tipo específico de comunicações serial implementadas (por exemplo, modem).

Reserved1

Não usado.

MaxTxQueue

Tamanho máximo da fila de transmissão. O tamanho máximo, em bytes, do buffer de saída interno do driver do controlador serial. Um valor zero indica que nenhum valor máximo é imposto pelo provedor serial.

MaxRxQueue

Tamanho máximo da fila de recebimento. O tamanho máximo, em bytes, do buffer de entrada interno do driver do controlador serial. Um valor zero indica que nenhum valor máximo é imposto pelo provedor serial.

MaxBaud

A taxa máxima de baud aceitável. Um driver de controlador serial baseado em extensão define esse membro como uma taxa de baud expressa em bits por segundo (bps). Por exemplo, se o controlador serial der suporte a uma taxa máxima de baud de 115.200 bps, o driver definirá MaxBaud = 115200.

No entanto, Serial.sys e muitos drivers de controlador serial mais antigos definem MaxBaud como um dos bits de sinalizador SERIAL_BAUD_XXX definidos no arquivo de cabeçalho Ntddser.h. Os valores a seguir são definidos para esse membro.

Valor Descrição
SERIAL_BAUD_075 75 bps
SERIAL_BAUD_110 110 bps
SERIAL_BAUD_134_5 134,5 bps
SERIAL_BAUD_150 150 bps
SERIAL_BAUD_300 300 bps
SERIAL_BAUD_600 600 bps
SERIAL_BAUD_1200 1.200 bps
SERIAL_BAUD_1800 1.800 bps
SERIAL_BAUD_2400 2.400 bps
SERIAL_BAUD_4800 4.800 bps
SERIAL_BAUD_7200 7.200 bps
SERIAL_BAUD_9600 9.600 bps
SERIAL_BAUD_14400 14.400 bps
SERIAL_BAUD_19200 19.200 bps
SERIAL_BAUD_38400 38.400 bps
SERIAL_BAUD_56K 56.000 bps
SERIAL_BAUD_57600 57.600 bps
SERIAL_BAUD_115200 115.200 bps
SERIAL_BAUD_128K 128.000 bps
SERIAL_BAUD_USER As taxas de baud programáveis estão disponíveis.

ProvSubType

O tipo de provedor de comunicações específico. Quando o membro ServiceMask é definido como SERIAL_SP_SERIALCOMM, ProvSubType é definido como um dos valores a seguir.

Valor Significado
SERIAL_SP_UNSPECIFIED Não Especificado
SERIAL_SP_RS232 Porta serial RS-232
SERIAL_SP_PARALLEL Porta paralela
SERIAL_SP_RS422 Porta serial RS-422
SERIAL_SP_RS423 Porta serial RS-423
SERIAL_SP_RS449 Porta serial RS-449
SERIAL_SP_MODEM Dispositivo modem
SERIAL_SP_FAX Dispositivo FAX
SERIAL_SP_SCANNER Dispositivo scanner
SERIAL_SP_BRIDGE Ponte de rede não especificada
SERIAL_SP_LAT Protocolo LAT
SERIAL_SP_TELNET Protocolo Telnet® TCP/IP
SERIAL_SP_X25 Padrões X.25

ProvCapabilities

Os recursos oferecidos pelo provedor. Esse membro é definido como zero ou como o OR bit a bit de um ou mais dos bits de sinalizador a seguir.

Valor Descrição
SERIAL_PCF_DTRDSR Há suporte para DTR (terminal de dados pronto) e DSR (conjunto de dados pronto).
SERIAL_PCF_RTSCTS Há suporte para RTS (solicitação para enviar) e CTS (limpar para enviar).
SERIAL_PCF_CD Há suporte para CD (detecção de operadora).
SERIAL_PCF_PARITY_CHECK Há suporte para verificação de paridade.
SERIAL_PCF_XONXOFF Há suporte para o controle de fluxo XON (transmissão) e XOFF (transmissão off).
SERIAL_PCF_SETXCHAR Os caracteres XON e XOFF são configuráveis.
SERIAL_PCF_TOTALTIMEOUTS Há suporte para tempo limite total decorrido.
SERIAL_PCF_INTTIMEOUTS Há suporte para intervalos de tempo limite.
SERIAL_PCF_SPECIALCHARS Há suporte para caracteres especiais.
SERIAL_PCF_16BITMODE Há suporte para o modo especial de 16 bits.

SettableParams

Uma máscara de bits que indica o parâmetro de comunicação que pode ser alterado. Esse membro é definido como zero ou como o OR bit a bit de um ou mais dos bits de sinalizador a seguir.

Valor Descrição
SERIAL_SP_PARITY Tipo de paridade (mesmo ou ímpar)
SERIAL_SP_BAUD Taxa de transmissão
SERIAL_SP_DATABITS Bits de dados
SERIAL_SP_STOPBITS Bits de parada
SERIAL_SP_HANDSHAKING Handshaking (controle de fluxo)
SERIAL_SP_PARITY_CHECK Verificação de paridade
SERIAL_SP_CARRIER_DETECT Detecção de operadora

SettableBaud

Uma máscara de bits que indica as taxas de baud que podem ser usadas. Para obter uma tabela que descreve os bits de sinalizador SERIAL_BAUD_XXX definidos para esse membro, consulte a descrição do membro MaxBaud . SettableBaud é definido como zero ou para o bit a bit OR ou um ou mais desses bits de sinalizador.

Os drivers de controlador serial definem o bit de sinalizador SERIAL_BAUD_USER no valor de máscara de bits SettableBaud para indicar que eles dão suporte a taxas de baud mais altas do que aquelas que podem ser expressas pelos outros bits de sinalizador SERIAL_BAUD_XXX . Por exemplo, um driver que dá suporte a taxas de baud de 57600, 115200, 230400 e 460800 bps define SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).

SettableData

O número de bits de dados que podem ser definidos. Esse membro é definido como zero ou como o OR bit a bit de um ou mais dos bits de sinalizador a seguir.

Valor Descrição
SERIAL_DATABITS_5 5 bits de dados
SERIAL_DATABITS_6 6 bits de dados
SERIAL_DATABITS_7 7 bits de dados
SERIAL_DATABITS_8 8 bits de dados
SERIAL_DATABITS_16 16 bits de dados
SERIAL_DATABITS_16X Caminho largo especial por meio de linhas de hardware serial

SettableStopParity

As configurações de stop-bit e paridade que podem ser selecionadas. Esse membro é definido como zero ou como o OR bit a bit de um ou mais dos bits de sinalizador a seguir.

Valor Descrição
SERIAL_STOPBITS_10 Um bit de parada.
SERIAL_STOPBITS_15 Uma parada e meia.
SERIAL_STOPBITS_20 Dois bits de parada.
SERIAL_PARITY_NONE Nenhum bit de paridade é usado.
SERIAL_PARITY_ODD Paridade estranha. O bit de paridade será 1 se o número de 1s no valor do caractere for par. Caso contrário, o bit de paridade será 0.
SERIAL_PARITY_EVEN Paridade mesmo. O bit de paridade será 1 se o número de 1s no valor do caractere for ímpar. Caso contrário, o bit de paridade será 0.
SERIAL_PARITY_MARK O bit de paridade é sempre definido como 1.
SERIAL_PARITY_SPACE O bit de paridade é sempre definido como 0.

CurrentTxQueue

Transmitir tamanho da fila. Esse membro especifica o tamanho, em bytes, do buffer de saída interno do driver do controlador serial. Um valor igual a zero indica que o tamanho do buffer não está disponível.

Para SerCx2 e SerCx, o driver do controlador serial associado normalmente define esse membro como zero. Serial.sys define esse membro como um valor diferente de zero que indica o tamanho do buffer de saída.

CurrentRxQueue

Receber o tamanho da fila. Esse membro especifica o tamanho, em bytes, do buffer de entrada interno do driver do controlador serial. Um valor igual a zero indica que o tamanho do buffer não está disponível.

Para SerCx2 e SerCx, esse membro é definido pelo driver do controlador serial associado. Para SerCx2, o driver normalmente define esse membro como zero. Para o SerCx, o driver normalmente define esse membro como o tamanho do buffer de anel que o SerCx usa para armazenar dados recebidos em buffer. Esse driver pode chamar o método SerCxGetRingBufferUtilization para obter o tamanho do buffer de anel do SerCx.

Serial.sys define esse membro como um valor diferente de zero que indica o tamanho do buffer de entrada.

ProvSpec1

Dados específicos do provedor. Os aplicativos devem ignorar esse membro, a menos que dados específicos do provedor sobre o formato de dados exigido pela porta serial esteja disponível.

ProvSpec2

Dados específicos do provedor. Os aplicativos devem ignorar esse membro, a menos que dados específicos do provedor sobre o formato de dados exigido pela porta serial esteja disponível.

ProvChar[1]

Dados específicos do provedor. Os aplicativos devem ignorar esse membro, a menos que dados específicos do provedor sobre o formato de dados exigido pela porta serial esteja disponível. Esse membro é o primeiro elemento em uma matriz de caracteres largos de um ou mais elementos. Todos os elementos adicionais seguem imediatamente este membro. O membro PacketLength especifica o tamanho da estrutura SERIAL_COMMPROP mais quaisquer elementos adicionais da matriz ProvChar que seguem essa estrutura.

Comentários

Essa estrutura é usada pela solicitação IOCTL_SERIAL_GET_PROPERTIES .

Requisitos

Requisito Valor
Cabeçalho ntddser.h

Confira também

IOCTL_SERIAL_GET_PROPERTIES