Partager via


SERIAL_COMMPROP structure (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, de la mémoire 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, de la mémoire 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

Débit de bauds maximal acceptable. Un pilote de contrôleur série basé sur une extension définit ce membre sur un taux de bauds exprimé en bits par seconde (bps). Par exemple, si le contrôleur série prend en charge une vitesse maximale 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 bits d’indicateur SERIAL_BAUD_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 Des débits en bauds programmables 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 Non spécifié
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 Périphérique modem
SERIAL_SP_FAX Appareil FAX
SERIAL_SP_SCANNER Appareil d’analyse
SERIAL_SP_BRIDGE Pont réseau non spécifié
SERIAL_SP_LAT Protocole LAT
SERIAL_SP_TELNET Protocole Telnet® TCP/IP
SERIAL_SP_X25 Normes X.25

ProvCapabilities

Fonctionnalités offertes par le fournisseur. Ce membre est défini sur zéro ou sur le bit-OR d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_PCF_DTRDSR DTR (data terminal ready) et DSR (data set ready) sont pris en charge.
SERIAL_PCF_RTSCTS RTS (demande d’envoi) et CTS (effacer pour envoyer) sont pris en charge.
SERIAL_PCF_CD LE CD (carrier detect) est pris en charge.
SERIAL_PCF_PARITY_CHECK La vérification de la parité est prise en charge.
SERIAL_PCF_XONXOFF Le contrôle de flux XON (transmission sur) et XOFF (transmission hors tension) est pris en charge.
SERIAL_PCF_SETXCHAR Les caractères XON et XOFF sont définissables.
SERIAL_PCF_TOTALTIMEOUTS Les délais d’expiration total sont pris en charge.
SERIAL_PCF_INTTIMEOUTS Les délais d’expiration 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 le bit-OR d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_SP_PARITY Type de parité (pair ou impair)
SERIAL_SP_BAUD Vitesse (en bauds)
SERIAL_SP_DATABITS Bits de données
SERIAL_SP_STOPBITS Bits d’arrêt
SERIAL_SP_HANDSHAKING Négociation (contrôle de flux)
SERIAL_SP_PARITY_CHECK Vérification de la parité
SERIAL_SP_CARRIER_DETECT Détection de l’opérateur

SettableBaud

Masque de bits qui indique les débits en bauds 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 SERIAL_BAUD_USER dans la valeur du masque de bits SettableBaud pour indiquer qu’ils prennent en charge des débits de bauds plus élevés que ceux qui peuvent être exprimés par les autres bits d’indicateur SERIAL_BAUD_XXX . Par exemple, un pilote qui prend en charge les taux 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 le bit-OR 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 large spécial à travers les lignes de matériel série

SettableStopParity

Paramètres stop-bit et parité qui peuvent être sélectionnés. Ce membre est défini sur zéro ou sur le bit-OR d’un ou plusieurs des bits d’indicateur suivants.

Valeur Description
SERIAL_STOPBITS_10 Un bit d’arrêt.
SERIAL_STOPBITS_15 Un arrêt et demi de bits.
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

Taille de file d’attente de transmission. Ce membre spécifie la taille, en octets, de la mémoire 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, de la mémoire 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 que SerCx utilise 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 tous 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 .

Configuration requise

Condition requise Valeur
En-tête ntddser.h

Voir aussi

IOCTL_SERIAL_GET_PROPERTIES