Partager via


SerCx2PioTransmitCreate, fonction (sercx.h)

La méthode SerCx2PioTransmitCreate crée un objet de transmission PIO, que la version 2 de l’extension de framework 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

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 du contrôleur série. SerCx2 appelle ces fonctions pour effectuer des transactions de transmission d’authentification unique.

[in, optional] Attributes

Pointeur vers une structure 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é en tant que WDF_NO_OBJECT_ATTRIBUTES si le pilote du contrôleur série n’a pas besoin d’affecter des attributs à l’objet. Pour plus d’informations, consultez Remarques.

[out] PioTransmit

Pointeur vers un emplacement vers lequel cette méthode écrit un handle SERCX2PIOTRANSMIT dans 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 de retour

Cette méthode retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_INVALID_DEVICE_REQUEST
Un objet de transmission PIO existe déjà à partir d’un appel précédent SerCx2PioTransmitCreate.
STATUS_INFO_LENGTH_MISMATCH
La valeur de de tailleconfig ne correspond pas à(SERCX2_PIO_TRANSMIT_CONFIG).
STATUS_INVALID_PARAMETER
La combinaison spécifiée de fonctions de rappel implémentées n’est pas valide. Le pilote doit implémenter les EvtSerCx2PioTransmitWriteBuffer, EvtSerCx2PioTransmitEnableReadyNotificationet EvtSerCx2PioTransmitCancelReadyNotification. Le pilote doit implémenter les trois ou aucun des EvtSerCx2PioTransmitDrainFifo, EvtSerCx2PioTransmitCancelDrainFifoet EvtSerCx2PioTransmitPurgeFifo.
STATUS_INSUFFICIENT_RESOURCES
Les ressources insuffisantes sont disponibles 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 d’authentification unique. SerCx2 utilise cet objet pour effectuer des transactions de transmission d’authentification personnelle, 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 appelé la méthode SerCx2InitializeDevice.

En guise d’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 fournir des pointeurs vers EvtCleanupCallback et EvtDestroyCallback fonctions appelées pour préparer l’objet à 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 dans le ParentObject, ExecutionLevelet SynchronizationScope membres de cette structure.

Pour plus d’informations sur la création d’objets de transmission d’objets PIO, consultez SERCX2PIOTRANSMIT. Pour plus d’informations sur les opérations de transmission d’authentification personnelle, consultez SerCx2 PIO-Transmit Transactions.

Exigences

Exigence Valeur
client minimum pris en charge Disponible à partir de Windows 8.1.
plateforme cible Universel
d’en-tête sercx.h
IRQL <= DISPATCH_LEVEL

Voir aussi

EvtCleanupCallback

EvtDestroyCallback

EvtDriverDeviceAdd

SERCX2PIOTRANSMIT

SERCX2_PIO_TRANSMIT_CONFIG

SERCX2_PIO_TRANSMIT_CONFIG_INIT

SerCx2InitializeDevice

WDF_OBJECT_ATTRIBUTES

WDF_OBJECT_ATTRIBUTES_INIT