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 |