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
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 |
---|---|
|
La valeur BytesReceived dépasse la longueur de mémoire tampon disponible ; ou la valeur ReceiveStatus n’est pas valide. |
|
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. |
|
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 |