Partager via


SERCX2_CUSTOM_TRANSMIT_CONFIG structure (sercx.h)

La structure SERCX2_CUSTOM_TRANSMIT_CONFIG contient des informations que la version 2 de l’extension d’infrastructure série (SerCx2) utilise pour configurer un nouvel objet de transmission personnalisée.

Syntaxe

typedef struct _SERCX2_CUSTOM_TRANSMIT_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_TRANSMIT_CONFIG, *PSERCX2_CUSTOM_TRANSMIT_CONFIG;

Membres

Size

Taille, en octets, de cette structure. La méthode SerCx2CustomTransmitCreate utilise ce membre pour déterminer la version de la structure utilisée par l’appelant. La taille de cette structure peut changer dans les versions futures du fichier d’en-tête Sercx.h.

Alignment

Exigence d’alignement des données. Spécifie comment l’adresse de départ d’un transfert dans une transaction de transmission personnalisée doit être alignée en mémoire. Définissez ce membre sur la constante FILE_XXX_ALIGNMENT appropriée dans le fichier d’en-tête Wdm.h. Par exemple, FILE_WORD_ALIGNMENT indique que l’adresse de départ doit être alignée sur la limite de deux octets en mémoire, FILE_LONG_ALIGNMENT indique que l’adresse doit être alignée sur une limite de quatre octets, etc.

MinimumTransactionLength

Longueur minimale, en octets, d’un transfert de données dans une transaction de transmission personnalisée. Si la longueur de la mémoire tampon dans une demande d’écriture (IRP_MJ_WRITE) est inférieure à cette longueur minimale, SerCx2 utilise les E/S programmées (PIO) pour la transaction.

MaximumTransactionLength

Longueur maximale, en octets, d’un transfert de données dans une transaction de transmission personnalisée. Si la taille de la mémoire tampon dans la demande d’écriture est supérieure à cette longueur maximale, SerCx2 utilise plusieurs transactions de transmission personnalisée pour gérer la demande et limite chaque transaction à la longueur maximale.

MinimumTransferUnit

Unité de transfert minimale. Le nombre d’octets à transférer dans une transaction de transmission personnalisée doit être un multiple entier de l’unité de transfert minimale. Pour indiquer que l’unité de transfert minimale par défaut doit être utilisée, définissez ce membre sur zéro. Pour plus d’informations sur l’unité de transfert minimale par défaut, consultez DMA_ADAPTER_INFO_V1.

Exclusive

Indique s’il faut utiliser des transactions de transmission personnalisées exclusivement pour gérer les demandes d’écriture (IRP_MJ_WRITE). Définissez sur TRUE pour indiquer que les demandes d’écriture doivent utiliser exclusivement des transactions de transmission personnalisée. Défini sur FALSE pour indiquer que les demandes d’écriture peuvent utiliser une combinaison de transactions de transmission personnalisée et de transactions de transmission piO.

Définissez ce membre sur TRUE uniquement si l’unité de transfert minimale pour les transactions de transmission personnalisée est d’un octet, si la longueur minimale de la transaction est d’un octet et si la mémoire tampon d’écriture de la transaction peut démarrer sur n’importe quelle limite d’octets en mémoire.

Si Exclusive a la valeur TRUE, les membres MinimumTransferUnit, Alignment et MinimumTransactionLength doivent être zéro.

Remarques

La méthode SerCx2CustomTransmitCreate accepte un pointeur vers une structure SERCX2_CUSTOM_TRANSMIT_CONFIG comme paramètre d’entrée. Avant d’appeler SerCx2CustomTransmitCreate, appelez la fonction SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT pour initialiser cette structure.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge à partir de Windows 8.1.
En-tête sercx.h

Voir aussi

DMA_ADAPTER_INFO_V1

IRP_MJ_WRITE

SERCX2_CUSTOM_TRANSMIT_CONFIG_INIT

SerCx2CustomTransmitCreate