EVT_WDF_IO_QUEUE_IO_READ fonction de rappel (wdfio.h)

[S’applique à KMDF et UMDF]

La fonction de rappel d’événement EvtIoRead d’un pilote traite une demande de lecture spécifiée.

Syntaxe

EVT_WDF_IO_QUEUE_IO_READ EvtWdfIoQueueIoRead;

void EvtWdfIoQueueIoRead(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request,
  [in] size_t Length
)
{...}

Paramètres

[in] Queue

Handle de l’objet de file d’attente d’infrastructure associé à la demande d’E/S.

[in] Request

Handle pour un objet de requête d’infrastructure.

[in] Length

Nombre d'octets à lire.

Valeur de retour

None

Remarques

Un pilote inscrit une fonction de rappel EvtIoRead lorsqu’il appelle WdfIoQueueCreate. Pour plus d’informations sur l’appel de WdfIoQueueCreate, consultez Création de files d’attente d’E/S.

Si un pilote a inscrit une fonction de rappel EvtIoRead pour la file d’attente d’E/S d’un appareil, la fonction de rappel reçoit chaque demande de lecture de la file d’attente. Pour plus d’informations, consultez Gestionnaires de demandes.

La fonction de rappel EvtIoRead doit traiter chaque demande d’E/S reçue d’une manière ou d’une autre. Pour plus d’informations, consultez Traitement des demandes d’E/S.

Les demandes de lecture nécessitent une mémoire tampon de sortie, qui reçoit les données que le pilote fournit. Pour plus d’informations sur la façon dont le pilote peut accéder à la mémoire tampon d’une demande de lecture, consultez Accès aux mémoires tampons de données dans les pilotes Framework-Based.

Cette fonction de rappel peut être appelée dans IRQL <= DISPATCH_LEVEL, sauf si le membre ExecutionLevel de la structure de WDF_OBJECT_ATTRIBUTES du périphérique ou du pilote est défini sur WdfExecutionLevelPassive.

Si l’IRQL est PASSIVE_LEVEL, l’infrastructure appelle la fonction de rappel dans une région critique.

Pour plus d’informations sur les niveaux IRQL pour les gestionnaires de requêtes, consultez Utilisation de la synchronisation automatique.

La fonction de rappel EvtIoRead d’un pilote ne doit pas appeler les méthodes d’objet file d’attente suivantes :

WdfIoQueueDrainSynchronously
WdfIoQueuePurgeSynchronously
WdfIoQueueStopSynchronously

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1.0
Version UMDF minimale 2.0
En-tête wdfio.h (inclure Wdf.h)
IRQL <= DISPATCH_LEVEL (voir la section Notes)

Voir aussi

EvtIoDefault

EvtIoWrite

WDF_OBJECT_ATTRIBUTES

WdfIoQueueCreate