Partager via


SERCX2_CUSTOM_RECEIVE_CONFIG structure (sercx.h)

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

Syntaxe

typedef struct _SERCX2_CUSTOM_RECEIVE_CONFIG {
  ULONG   Size;
  ULONG   Alignment;
  ULONG   MinimumTransactionLength;
  ULONG   MaximumTransactionLength;
  ULONG   MinimumTransferUnit;
  BOOLEAN Exclusive;
} SERCX2_CUSTOM_RECEIVE_CONFIG, *PSERCX2_CUSTOM_RECEIVE_CONFIG;

Membres

Size

Taille, en octets, de cette structure. La méthode SerCx2CustomReceiveCreate 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 réception 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 réception personnalisée. Si la longueur de la mémoire tampon dans une requête de lecture (IRP_MJ_READ) 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 réception personnalisée. Si la taille de la mémoire tampon dans la demande de lecture est supérieure à cette longueur maximale, SerCx2 utilise plusieurs transactions de réception personnalisées pour gérer la demande et limite chaque transaction à la longueur maximale.

MinimumTransferUnit

Unité de transfert minimale. Le nombre d’octets spécifié par un élément dans une liste de points/regroupements 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 réception personnalisées exclusivement pour gérer les demandes d’écriture (IRP_MJ_READ). Définissez sur TRUE pour indiquer que les demandes de lecture doivent utiliser exclusivement des transactions de réception personnalisées. Définissez sur FALSE pour indiquer que les demandes de lecture peuvent utiliser une combinaison de transactions de réception personnalisée et de transactions piO-receive.

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

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

Quelle que soit la valeur de ce membre, les transactions piO-receive sont utilisées pour enregistrer toutes les données non lues dans le fifo de réception avant que le contrôleur série ne quitte l’état d’alimentation de l’appareil D0 pour entrer dans un état de faible consommation.

Remarques

La méthode SerCx2CustomReceiveCreate accepte un pointeur vers une structure SERCX2_CUSTOM_RECEIVE_CONFIG comme paramètre d’entrée. Avant d’appeler SerCx2CustomReceiveCreate, appelez la fonction SERCX2_CUSTOM_RECEIVE_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_READ

SERCX2_CUSTOM_RECEIVE_CONFIG_INIT

SerCx2CustomReceiveCreate