Partager via


SerCxProgressTransmit, fonction (sercx.h)

La méthode SerCxProgressTransmit signale la progression de l’opération d’écriture (transmission) actuelle.

Syntaxe

NTSTATUS SerCxProgressTransmit(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesTransmitted,
  [in] SERCX_STATUS TransmitStatus
);

Paramètres

[in] Device

Handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série.

[in] BytesTransmitted

Nombre d’octets de données que l’appelant a copiés à partir de la mémoire tampon de transmission obtenue par le dernier appel à la méthode SerCxRetrieveTransmitBuffer.

[in] TransmitStatus

État actuel de l’opération de transmission. Définissez ce paramètre sur l’une des valeurs suivantes :

  • SerCxStatusSuccess
  • SerCxStatusCancelled
Pour plus d’informations sur ces valeurs, consultez SERCX_STATUS.
Remarque La valeur SerCxStatusTimeout est valide uniquement pour les opérations de réception. Aucun délai d’expiration d’intervalle ne peut être spécifié pour une opération de transmission. Pour plus d’informations, consultez SERIAL_TIMEOUTS.
 

Valeur de retour

SerCxProgressTransmit retourne STATUS_SUCCESS si elle réussit. Les valeurs de retour d’erreur possibles incluent les codes d’état suivants.

Retourner le code Description
STATUS_INVALID_PARAMETER
La valeur BytesTransmitted dépasse la longueur de mémoire tampon disponible ; ou la valeur TransmitStatus n’est pas valide.
STATUS_INVALID_DEVICE_REQUEST
La méthode a été appelée au mauvais IRQL ; ou le handle WDFDEVICE n’est pas valide ; ou le pilote n’a pas obtenu de mémoire tampon de sortie pour cette opération de transmission.
STATUS_CANCELLED
L’opération de transmission a déjà été annulée.

Remarques

Le pilote du contrôleur série appelle cette méthode pour signaler la progression d’une opération d’écriture en attente. En règle générale, le pilote du contrôleur série appelle cette méthode à partir de son rappel de saisie semi-automatique DMA (si le pilote utilise DMA pour lire les données) ou à partir de sa fonction DPC de transmission/réception (si l’authentification personnelle est utilisée).

Si l’appel SerCxProgressTransmit n’effectue pas toutes les tâches en suspens pour l’opération d’écriture, l’appelant doit appeler SerCxRetrieveTransmitBuffer de nouveau pour obtenir un descripteur de mémoire tampon et continuer à transmettre des données.

Exigences

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

Voir aussi

SERCX_STATUS

SERIAL_TIMEOUTS

SerCxRetrieveTransmitBuffer