Partilhar via


SERIAL_COMMPROP estrutura (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 provChar matriz 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ções serial, incluindo provedores de modem. O membro ProvSubType indica o tipo específico de comunicações serial que são 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 de 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 aceitável de baud. 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 deXXX SERIAL_BAUD_ definidos no arquivo de cabeçalho Ntddser.h. Os valores a seguir são definidos para este 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 Unspecified
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 de 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 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 ativada) 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 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 Parar bits
SERIAL_SP_HANDSHAKING Handshaking (controle de fluxo)
SERIAL_SP_PARITY_CHECK Verificação de paridade
SERIAL_SP_CARRIER_DETECT Detecção de transportadora

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 deXXX SERIAL_BAUD_ definidos para esse membro, consulte a descrição do membro do MaxBaud. SettableBaud é definido como zero ou 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 SettableBaud valor de máscara de bits 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 deXXX SERIAL_BAUD_. Por exemplo, um driver que dá suporte a taxas de baud de 57600, 115200, 230400 e 460800 bps conjuntos 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 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 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 estiver uniforme. Caso contrário, o bit de paridade será 0.
SERIAL_PARITY_EVEN Até paridade. 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 de controlador serial. Um valor 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 de controlador serial. Um valor 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 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 estão disponíveis.

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 estão disponíveis.

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 estão disponíveis. 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 de matriz ProvChar adicionais que seguem essa estrutura.

Observações

Essa estrutura é usada pela solicitação IOCTL_SERIAL_GET_PROPERTIES.

Requisitos

Requisito Valor
cabeçalho ntddser.h

Consulte também

IOCTL_SERIAL_GET_PROPERTIES