EVT_SERCX_RECEIVE fonction de rappel (sercx.h)
La fonction de rappel d’événements EvtSerCxReceive prépare l’appareil de contrôleur série (UART) pour effectuer une opération de lecture (réception).
Syntaxe
EVT_SERCX_RECEIVE EvtSercxReceive;
NTSTATUS EvtSercxReceive(
[in] WDFDEVICE Device,
[in] size_t Length
)
{...}
Paramètres
[in] Device
Handle WDFDEVICE pour l’objet d’appareil framework qui représente le contrôleur série.
[in] Length
Nombre d’octets à recevoir. Le pilote du contrôleur peut utiliser cette valeur comme indicateur pour décider s’il faut utiliser piO ou DMA pour effectuer le transfert de données.
Valeur de retour
La fonction EvtSerCxReceive retourne STATUS_SUCCESS si l’appel réussit. Sinon, elle retourne un code d’état d’erreur approprié.
Remarques
L’extension de framework série (SerCx) appelle cette fonction pour configurer le matériel du contrôleur pour recevoir des données. Si nécessaire, la fonction EvtSerCxReceive peut activer les interruptions.
La fonction evtSerCxReceive
Si la fiFO de réception dans le contrôleur série est vide ou presque vide, mais que l’interruption de marque haute-eau du FIFO est activée, la routine DPC peut simplement retourner. Plus tard, l’ISR du pilote de contrôleur peut planifier l’exécution de la routine DPC, et cette routine peut lire plus de données à partir de la FIFO de réception.
Pour inscrire une fonction de rappel EvtSerCxReceive, le pilote du contrôleur appelle la méthode SerCxInitialize pendant le rappel EvtDriverDeviceAdd.
Exemples
Le type de fonction de ce rappel est déclaré dans Sercx.h, comme suit.
typedef NTSTATUS
EVT_SERCX_RECEIVE(
__in WDFDEVICE Device
);
Pour définir une fonction de rappel EvtSerCxReceive nommée MyEvtSerCxReceive
, vous devez d’abord fournir une déclaration de fonction qui static Driver Verificationr (SDV) et d’autres outils de vérification nécessitent, comme suit.
EVT_SERCX_RECEIVE MyEvtSerCxReceive;
Ensuite, implémentez votre fonction de rappel comme suit.
NTSTATUS
MyEvtSerCxReceive(
__in WDFDEVICE Device
)
{ ... }
Pour plus d’informations sur les exigences SDV pour les déclarations de fonction, consultez déclaration de fonctions à l’aide de types de rôles de fonction pour les pilotes KMDF.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8. |
plateforme cible | Bureau |
d’en-tête | sercx.h |
IRQL | Appelé au <IRQL = DISPATCH_LEVEL |