Fonction SerCx2PioTransmitCreate (sercx.h)
La méthode SerCx2PioTransmitCreate crée un objet de transmission PIO, que la version 2 de l’extension d’infrastructure série (SerCx2) utilise pour effectuer des transactions de transmission PIO.
Syntaxe
NTSTATUS SerCx2PioTransmitCreate(
[in] WDFDEVICE Device,
[in] PSERCX2_PIO_TRANSMIT_CONFIG PioTransmitConfig,
[in, optional] PWDF_OBJECT_ATTRIBUTES Attributes,
[out] SERCX2PIOTRANSMIT *PioTransmit
);
Paramètres
[in] Device
Un handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série. Le pilote de contrôleur série a créé cet objet dans sa fonction de rappel EvtDriverDeviceAdd . Pour plus d’informations, consultez SerCx2InitializeDevice.
[in] PioTransmitConfig
Pointeur vers une structure SERCX2_PIO_TRANSMIT_CONFIG . Avant d’appeler cette méthode, l’appelant doit appeler la fonction SERCX2_PIO_TRANSMIT_CONFIG_INIT pour initialiser la structure. Cette structure contient des pointeurs vers un ensemble de routines de rappel d’événements implémentées par le pilote de contrôleur série. SerCx2 appelle ces fonctions pour effectuer des transactions piO-transmit.
[in, optional] Attributes
Pointeur vers une structure de WDF_OBJECT_ATTRIBUTES qui décrit les attributs à affecter au nouvel objet de transmission PIO. Avant d’appeler cette méthode, l’appelant doit appeler la fonction WDF_OBJECT_ATTRIBUTES_INIT pour initialiser la structure. Ce paramètre est facultatif et peut être spécifié comme 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.
[out] PioTransmit
Pointeur vers un emplacement dans lequel cette méthode écrit un SERCX2PIOTRANSMIT handle vers l’objet de transmission PIO nouvellement créé. SerCx2 et le pilote de contrôleur série utilisent ce handle dans les appels suivants pour faire référence à cet objet.
Valeur retournée
Cette méthode retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent les codes status suivants.
Code de retour | Description |
---|---|
|
Un objet PIO-transmit existe déjà à partir d’un appel SerCx2PioTransmitCreate précédent. |
|
La valeur Taille de la configuration-> n’est pas égale à sizeof(SERCX2_PIO_TRANSMIT_CONFIG). |
|
La combinaison spécifiée de fonctions de rappel implémentées n’est pas valide. Le pilote doit implémenter les fonctions EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotification et EvtSerCx2PioTransmitCancelReadyNotification . Le pilote doit implémenter les trois fonctions EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifo et EvtSerCx2PioTransmitPurgeFifo . |
|
Les ressources disponibles sont insuffisantes pour effectuer l’opération demandée. |
Remarques
Votre pilote de contrôleur série appelle cette méthode pour créer un objet de transmission PIO. SerCx2 utilise cet objet pour effectuer des transactions de transmission PIO, qui sont des transactions qui utilisent des E/S programmées (PIO) pour écrire des données dans le contrôleur série à transmettre.
En règle générale, un pilote de contrôleur série appelle SerCx2PioTransmitCreate à partir de sa fonction EvtDriverDeviceAdd . Le pilote doit appeler cette méthode uniquement après avoir correctement appelé la méthode SerCx2InitializeDevice .
En option, un pilote de contrôleur série peut utiliser le paramètre Attributes pour créer un contexte pour l’objet de transmission PIO et pour fournir des pointeurs vers les fonctions EvtCleanupCallback et EvtDestroyCallback appelées pour préparer l’objet en vue de la suppression. Pour plus d’informations, consultez WDF_OBJECT_ATTRIBUTES.
Si le paramètre Attributes 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 sur les membres ParentObject, ExecutionLevel et SynchronizationScope de cette structure.
Pour plus d’informations sur la création d’objets PIO-transmit, consultez SERCX2PIOTRANSMIT. Pour plus d’informations sur les opérations PIO-transmit, consultez Transactions SerCx2 PIO-Transmit.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows 8.1. |
Plateforme cible | Universal |
En-tête | sercx.h |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
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