Partager via


SerCxProgressReceive, fonction (sercx.h)

La méthode SerCxProgressReceive signale la progression de l’opération de lecture (réception) en cours.

Syntaxe

NTSTATUS SerCxProgressReceive(
  [in] WDFDEVICE    Device,
  [in] ULONG        BytesReceived,
  [in] SERCX_STATUS ReceiveStatus
);

Paramètres

[in] Device

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

[in] BytesReceived

Nombre d’octets de données chargés par l’appelant dans la mémoire tampon de réception obtenue par le dernier appel à la méthode SerCxRetrieveReceiveBuffer .

[in] ReceiveStatus

La status actuelle de l’opération de réception. Définissez ce paramètre sur l’une des valeurs suivantes :

  • SerCxStatusSuccess
  • SerCxStatusCancelled
  • SerCxStatusTimeout
Pour plus d’informations sur ces valeurs, consultez SERCX_STATUS.

Valeur retournée

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

Code de retour Description
STATUS_INVALID_PARAMETER
La valeur BytesReceived dépasse la longueur de mémoire tampon disponible ; ou la valeur ReceiveStatus n’est pas valide.
STATUS_INVALID_DEVICE_REQUEST
La méthode a été appelée au niveau de l’IRQL incorrect ; ou le handle WDFDEVICE n’est pas valide ; ou le pilote n’a pas obtenu de mémoire tampon d’entrée pour cette opération de réception.
STATUS_CANCELLED
L’opération de réception 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 de lecture en suspens. En règle générale, le pilote du contrôleur série appelle cette méthode à partir de son rappel d’achèvement DMA (si le pilote utilise DMA pour lire les données) ou de sa fonction DPC de transmission/réception (si piO est utilisé).

Si SerCxProgressReceive n’effectue pas tout le travail en suspens pour l’opération de lecture, l’appelant doit appeler à nouveau la méthode SerCxRetrieveReceiveBuffer pour obtenir un nouveau descripteur de mémoire tampon et continuer à recevoir des données.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Universal
En-tête sercx.h
IRQL <= DISPATCH_LEVEL

Voir aussi

SERCX_STATUS

SerCxRetrieveReceiveBuffer