Partager via


EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES fonction de rappel (wdfio.h)

[S’applique uniquement à KMDF]

La fonction de rappel EvtIoAllocateRequestResources d’un pilote alloue les ressources spécifiques à la demande dont le pilote a besoin pour traiter la requête spécifiée.

Syntaxe

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

NTSTATUS EvtWdfIoAllocateRequestResources(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

Paramètres

[in] Queue

Handle d’un objet file d’attente d’E/S.

[in] Request

Handle d’un objet de requête que l’infrastructure a créé. L’infrastructure n’a pas encore ajouté l’objet de requête à la file d’attente d’E/S spécifiée par le handle du paramètre Queue .

Valeur retournée

La fonction de rappel EvtIoAllocateRequestResources doit retourner STATUS_SUCCESS ou une autre valeur status pour laquelle NT_SUCCESS(status) est égal à TRUE si la fonction ne rencontre aucune erreur. Sinon, cette fonction doit retourner une valeur status pour laquelle NT_SUCCESS(status) est false.

Remarques

Un pilote peut inscrire une fonction de rappel EvtIoAllocateRequestResources lorsqu’il appelle WdfIoQueueAssignForwardProgressPolicy.

Si votre pilote inscrit une fonction de rappel EvtIoAllocateRequestResources , l’infrastructure appelle la fonction immédiatement après avoir créé un objet de requête pour un paquet de demandes d’E/S (IRP) que le gestionnaire d’E/S a envoyé à votre pilote.

La fonction de rappel peut allouer des ressources dont votre pilote aura besoin pour traiter la demande ultérieurement, une fois que le pilote a obtenu l’objet de requête à partir de la file d’attente d’E/S spécifiée par le handle du paramètre File d’attente .

Si la fonction de rappel alloue correctement des ressources et retourne STATUS_SUCCESS, l’infrastructure remet finalement l’objet de requête au pilote.

Si une erreur d’allocation de ressources se produit, telle qu’une situation de mémoire insuffisante, la fonction de rappel doit retourner une erreur status valeur. Dans ce cas, l’infrastructure suit la stratégie de progression vers l’avant du pilote, que le pilote a précédemment spécifiée avec une valeur de WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY lorsqu’il a appelé WdfIoQueueAssignForwardProgressPolicy.

Pour plus d’informations sur la fonction de rappel EvtIoAllocateRequestResources , consultez Garantie de la progression des opérations d’E/S.

Cette fonction de rappel peut être appelée dans IRQL <= DISPATCH_LEVEL. Si l’IRQL est PASSIVE_LEVEL, l’infrastructure appelle la fonction de rappel dans une région critique.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
Version KMDF minimale 1,9
En-tête wdfio.h (inclure Wdf.h)
IRQL <=DISPATCH_LEVEL (voir la section Remarques)

Voir aussi

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy