Partager via


SERCX2_CONFIG structure (sercx.h)

La structure SERCX2_CONFIG contient des informations de configuration pour la version 2 de l’extension d’infrastructure série (SerCx2).

Syntaxe

typedef struct _SERCX2_CONFIG {
  ULONG                                            Size;
  PFN_SERCX2_FILEOPEN                              EvtSerCx2FileOpen;
  PFN_SERCX2_FILECLOSE                             EvtSerCx2FileClose;
  PFN_SERCX2_SET_WAIT_MASK                         EvtSerCx2SetWaitMask;
  PFN_SERCX2_PURGE_FIFOS                           EvtSerCx2PurgeFifos;
  PFN_SERCX2_CONTROL                               EvtSerCx2Control;
  PFN_SERCX2_APPLY_CONFIG                          EvtSerCx2ApplyConfig;
  PFN_SERCX2_SELECT_NEXT_RECEIVE_TRANSACTION_TYPE  EvtSerCx2SelectNextReceiveTransactionType;
  PFN_SERCX2_SELECT_NEXT_TRANSMIT_TRANSACTION_TYPE EvtSerCx2SelectNextTransmitTransactionType;
  PWDF_OBJECT_ATTRIBUTES                           RequestAttributes;
} SERCX2_CONFIG, *PSERCX2_CONFIG;

Membres

Size

Taille, en octets, de cette structure. La méthode SerCx2InitializeDevice 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.

EvtSerCx2FileOpen

Pointeur vers la fonction de rappel d’événement EvtSerCx2FileOpen implémentée par le pilote. Ce membre est facultatif et peut être défini sur NULL pour indiquer que le pilote n’implémente pas la fonction. Toutefois, un pilote qui implémente cette fonction doit également implémenter une fonction EvtSerCx2FileClose .

EvtSerCx2FileClose

Pointeur vers la fonction de rappel d’événement EvtSerCx2FileClose implémentée par le pilote. Ce membre est facultatif et peut être défini sur NULL pour indiquer que le pilote n’implémente pas la fonction.

EvtSerCx2SetWaitMask

Pointeur vers la fonction de rappel d’événement EvtSerCx2SetWaitmask implémentée par le pilote. Ce membre doit pointer vers une fonction valide.

EvtSerCx2PurgeFifos

Pointeur vers la fonction de rappel d’événement EvtSerCx2PurgeFifos implémentée par le pilote. Ce membre doit pointer vers une fonction valide.

EvtSerCx2Control

Pointeur vers la fonction de rappel d’événement EvtSerCx2Control implémentée par le pilote. Ce membre doit pointer vers une fonction valide.

EvtSerCx2ApplyConfig

Pointeur vers la fonction de rappel d’événement EvtSerCx2ApplyConfig implémentée par le pilote. Ce membre doit pointer vers une fonction valide.

EvtSerCx2SelectNextReceiveTransactionType

Pointeur vers la fonction de rappel d’événement EvtSerCx2SelectNextReceiveTransactionType implémentée par le pilote. Ce membre est facultatif et peut être défini sur NULL pour indiquer que le pilote n’implémente pas la fonction.

EvtSerCx2SelectNextTransmitTransactionType

Pointeur vers la fonction de rappel d’événement EvtSerCx2SelectNextTransmitTransactionType implémentée par le pilote. Ce membre est facultatif et peut être défini sur NULL pour indiquer que le pilote n’implémente pas la fonction.

RequestAttributes

Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES qui décrit les attributs à affecter aux objets de demande d’infrastructure que SerCx2 transmet au pilote de contrôleur série. Avant d’appeler la méthode SerCx2InitializeDevice , l’appelant doit appeler la fonction WDF_OBJECT_ATTRIBUTES_INIT pour initialiser la structure. Ce membre est facultatif et peut être spécifié en tant que WDF_NO_OBJECT_ATTRIBUTES si le pilote de contrôleur série n’a pas besoin d’affecter des attributs à l’objet . Pour plus d'informations, consultez la section Notes.

Remarques

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

Si le membre RequestAttributes pointe vers une structure WDF_OBJECT_ATTRIBUTES , l’appelant ne doit pas remplacer les valeurs que la fonction d’initialisation WDF_OBJECT_ATTRIBUTES_INIT écrit dans les membres ParentObject, ExecutionLevel et SynchronizationScope de cette structure.

Un pilote peut avoir besoin de stocker des informations dans des zones de contexte dans les objets de demande d’infrastructure que le pilote reçoit. En règle générale, le pilote appelle la méthode WdfDeviceInitSetRequestAttributes pour spécifier les attributs requis pour les objets de requête. Ces attributs incluent le nom et la taille de la zone de contexte dans chaque objet de requête. En outre, dans l’implémentation actuelle de SerCx2, un pilote de contrôleur série qui nécessite un contexte de requête doit spécifier ces mêmes attributs dans le membre RequestAttributes de la structure SERCX2_CONFIG que le pilote transmet à SerCx2InitializeDevice. Autrement dit, le pilote doit spécifier les mêmes attributs de requête deux fois : dans l’appel SerCx2InitializeDevice et dans l’appel WdfDeviceInitSetRequestAttributes . Pour plus d’informations, consultez Transactions Custom-Receive SerCx2 et Transactions Custom-Transmit SerCx2.

Un pilote qui n’a jamais besoin d’un contexte de requête n’a pas besoin d’appeler WdfDeviceInitSetRequestAttributes et peut définir le membre RequestAttributes de la structure SERCX2_CONFIG sur WDF_NO_OBJECT_ATTRIBUTES.

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

EvtSerCx2ApplyConfig

EvtSerCx2Control

EvtSerCx2FileClose

EvtSerCx2FileOpen

EvtSerCx2PurgeFifos

EvtSerCx2SelectNextReceiveTransactionType

EvtSerCx2SelectNextTransmitTransactionType

EvtSerCx2SetWaitmask

SERCX2_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT