Partager via


structure SERIAL_COMMPROP (ntddser.h)

La structure SERIAL_COMMPROP spécifie les propriétés d’un port série.

Syntaxe

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;

Membres

PacketLength

Taille, en octets, du paquet de données qui commence par cette structure et qui contient les données de propriété demandées. Cette taille inclut la structure SERIAL_COMMPROP et tous les éléments de tableau ProvChar supplémentaires qui suivent cette structure.

PacketVersion

Version de cette structure. Le numéro de version actuel est 2.

ServiceMask

Masque de bits qui indique les services implémentés par ce fournisseur de communications. Ce membre est toujours défini sur SERIAL_SP_SERIALCOMM par les fournisseurs de communications série, y compris les fournisseurs de modems. Le membre ProvSubType indique le type spécifique de communications série implémentées (par exemple, modem).

Reserved1

Non utilisé.

MaxTxQueue

Taille maximale de la file d’attente de transmission. Taille maximale, en octets, du tampon de sortie interne du pilote de contrôleur série. La valeur zéro indique qu’aucune valeur maximale n’est imposée par le fournisseur série.

MaxRxQueue

Taille maximale de la file d’attente de réception. Taille maximale, en octets, du tampon d’entrée interne du pilote de contrôleur série. La valeur zéro indique qu’aucune valeur maximale n’est imposée par le fournisseur série.

MaxBaud

Taux de baud maximal acceptable. Un pilote de contrôleur série basé sur l’extension définit ce membre sur un taux de baud exprimé en bits par seconde (bps). Par exemple, si le contrôleur série prend en charge un taux maximal de bauds de 115 200 bps, le pilote définit MaxBaud = 115200.

Toutefois, Serial.sys et de nombreux pilotes de contrôleur série plus anciens définissent MaxBaud sur l’un des SERIAL_BAUD_bits d’indicateur XXX définis dans le fichier d’en-tête Ntddser.h. Les valeurs suivantes sont définies pour ce membre.

Valeur Description
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 Les tarifs de baud programmable sont disponibles.

ProvSubType

Type de fournisseur de communications spécifique. Lorsque le membre ServiceMask est défini sur SERIAL_SP_SERIALCOMM, ProvSubType est défini sur l’une des valeurs suivantes.

Valeur Signification
SERIAL_SP_UNSPECIFIED Quelconque
SERIAL_SP_RS232 Port série RS-232
SERIAL_SP_PARALLEL Port parallèle
SERIAL_SP_RS422 Port série RS-422
SERIAL_SP_RS423 Port série RS-423
SERIAL_SP_RS449 Port série RS-449
SERIAL_SP_MODEM Appareil modem
SERIAL_SP_FAX Appareil FAX
SERIAL_SP_SCANNER Appareil scanneur
SERIAL_SP_BRIDGE Pont réseau non spécifié
SERIAL_SP_LAT Protocole LAT
SERIAL_SP_TELNET Protocole TCP/IP Telnet®
SERIAL_SP_X25 Normes X.25

ProvCapabilities

Fonctionnalités offertes par le fournisseur. Ce membre est défini sur zéro ou sur l’or au niveau du bit d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_PCF_DTRDSR DTR (prêt pour le terminal de données) et DSR (jeu de données prêt) sont pris en charge.
SERIAL_PCF_RTSCTS RTS (demande d’envoi) et CTS (effacer pour envoyer) sont pris en charge.
SERIAL_PCF_CD CD (carrier detect) est pris en charge.
SERIAL_PCF_PARITY_CHECK La vérification de parité est prise en charge.
SERIAL_PCF_XONXOFF Le contrôle de flux XON (transmission activé) et XOFF (transmettre hors) est pris en charge.
SERIAL_PCF_SETXCHAR Les caractères XON et XOFF sont définis.
SERIAL_PCF_TOTALTIMEOUTS Les délais d’attente écoulés sont pris en charge.
SERIAL_PCF_INTTIMEOUTS Les délais d’attente d’intervalle sont pris en charge.
SERIAL_PCF_SPECIALCHARS Les caractères spéciaux sont pris en charge.
SERIAL_PCF_16BITMODE Le mode 16 bits spécial est pris en charge.

SettableParams

Masque de bits qui indique le paramètre de communication qui peut être modifié. Ce membre est défini sur zéro ou sur l’or au niveau du bit d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_SP_PARITY Type de parité (même ou impair)
SERIAL_SP_BAUD Bauds
SERIAL_SP_DATABITS Bits de données
SERIAL_SP_STOPBITS Arrêter les bits
SERIAL_SP_HANDSHAKING Établissement d’une liaison (contrôle de flux)
SERIAL_SP_PARITY_CHECK Vérification de parité
SERIAL_SP_CARRIER_DETECT Détection de l’opérateur

SettableBaud

Masque de bits qui indique les taux de baud qui peuvent être utilisés. Pour obtenir une table qui décrit les bits d’indicateur SERIAL_BAUD_XXX définis pour ce membre, consultez la description du membre MaxBaud. SettableBaud est défini sur zéro ou sur le bit-OR ou un ou plusieurs de ces bits d’indicateur.

Les pilotes de contrôleur série définissent le bit d’indicateur de SERIAL_BAUD_USER dans le SettableBaud valeur de masque de bits pour indiquer qu’ils prennent en charge des taux de baud plus élevés que ceux qui peuvent être exprimés par les autres SERIAL_BAUD_XXX bits d’indicateur. Par exemple, un pilote qui prend en charge les taux de baud de 57600, 115200, 230400 et 460800 bps définit SettableBaud = (SERIAL_BAUD_57600 | SERIAL_BAUD_115200 | SERIAL_BAUD_USER).

SettableData

Nombre de bits de données pouvant être définis. Ce membre est défini sur zéro ou sur l’or au niveau du bit d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_DATABITS_5 5 bits de données
SERIAL_DATABITS_6 6 bits de données
SERIAL_DATABITS_7 7 bits de données
SERIAL_DATABITS_8 8 bits de données
SERIAL_DATABITS_16 16 bits de données
SERIAL_DATABITS_16X Chemin d’accès large spécial via des lignes matérielles série

SettableStopParity

Paramètres d’arrêt et de parité qui peuvent être sélectionnés. Ce membre est défini sur zéro ou sur l’or au niveau du bit d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_STOPBITS_10 Un bit d’arrêt.
SERIAL_STOPBITS_15 Un et demi-stop.
SERIAL_STOPBITS_20 Deux bits d’arrêt.
SERIAL_PARITY_NONE Aucun bit de parité n’est utilisé.
SERIAL_PARITY_ODD Parité impaire. Le bit de parité est 1 si le nombre de 1s dans la valeur de caractère est pair. Sinon, le bit de parité est 0.
SERIAL_PARITY_EVEN Même la parité. Le bit de parité est 1 si le nombre de 1s dans la valeur de caractère est impair. Sinon, le bit de parité est 0.
SERIAL_PARITY_MARK Le bit de parité est toujours défini sur 1.
SERIAL_PARITY_SPACE Le bit de parité est toujours défini sur 0.

CurrentTxQueue

Transmettre la taille de la file d’attente. Ce membre spécifie la taille, en octets, du tampon de sortie interne du pilote de contrôleur série. La valeur zéro indique que la taille de la mémoire tampon n’est pas disponible.

Pour SerCx2 et SerCx, le pilote de contrôleur série associé définit généralement ce membre sur zéro. Serial.sys définit ce membre sur une valeur différente de zéro qui indique la taille de la mémoire tampon de sortie.

CurrentRxQueue

Taille de la file d’attente de réception. Ce membre spécifie la taille, en octets, du tampon d’entrée interne du pilote de contrôleur série. La valeur zéro indique que la taille de la mémoire tampon n’est pas disponible.

Pour SerCx2 et SerCx, ce membre est défini par le pilote de contrôleur série associé. Pour SerCx2, le pilote définit généralement ce membre sur zéro. Pour SerCx, le pilote définit généralement ce membre sur la taille de la mémoire tampon en anneau utilisée par SerCx pour mettre en mémoire tampon les données reçues. Ce pilote peut appeler la méthode SerCxGetRingBufferUtilization pour obtenir la taille de la mémoire tampon en anneau à partir de SerCx.

Serial.sys définit ce membre sur une valeur différente de zéro qui indique la taille de la mémoire tampon d’entrée.

ProvSpec1

Données spécifiques au fournisseur. Les applications doivent ignorer ce membre, sauf si des données spécifiques au fournisseur sur le format de données requis par le port série sont disponibles.

ProvSpec2

Données spécifiques au fournisseur. Les applications doivent ignorer ce membre, sauf si des données spécifiques au fournisseur sur le format de données requis par le port série sont disponibles.

ProvChar[1]

Données spécifiques au fournisseur. Les applications doivent ignorer ce membre, sauf si des données spécifiques au fournisseur sur le format de données requis par le port série sont disponibles. Ce membre est le premier élément d’un tableau à caractères larges d’un ou plusieurs éléments. Tous les éléments supplémentaires suivent immédiatement ce membre. Le membre PacketLength spécifie la taille de la structure SERIAL_COMMPROP ainsi que les éléments de tableau ProvChar supplémentaires qui suivent cette structure.

Remarques

Cette structure est utilisée par la requête IOCTL_SERIAL_GET_PROPERTIES.

Exigences

Exigence Valeur
d’en-tête ntddser.h

Voir aussi

IOCTL_SERIAL_GET_PROPERTIES