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
EvtSerCx2SelectNextReceiveTransactionType
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour