Partager via


OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE

Les pilotes de protocole NDIS émettent des demandes de méthode d’identificateur d’objet (OID) de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE pour informer le pilote miniport qu’une allocation est terminée pour le lot actuel de files d’attente de réception.

Le InformationBuffer membre de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY suivie d’une structure NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS pour chaque file d’attente. Après un retour réussi de la requête de méthode OID, le InformationBuffer membre de la structure NDIS_OID_REQUEST contient un pointeur vers le même tableau de structures, et le membre CompletionStatus de chaque structure NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS contient l’état d’achèvement de chaque file d’attente.

Remarques

La demande de méthode OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE est facultative pour les pilotes miniport NDIS 6.20 et ultérieurs. Il est obligatoire pour les pilotes miniport qui prennent en charge l’interface de file d’attente de machines virtuelles (VMQ).

Après avoir alloué une ou plusieurs files d’attente de réception et éventuellement la définition des filtres initiaux, le pilote de protocole doit émettre la demande de méthode OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE afin d’informer le pilote miniport que l’allocation s’est terminée pour le lot actuel de files d’attente de réception. Cela permet au pilote miniport d’équilibrer les ressources matérielles entre plusieurs files d’attente de réception ; si nécessaire, il peut allouer des ressources telles que la mémoire partagée pour les files d’attente de réception.

Une fois qu’un pilote miniport reçoit une demande de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE et qu’il a des filtres définis dans la file d’attente, la file d’attente est dans l’état en cours d’exécution. Dans cet état, le pilote miniport peut démarrer des indications de paquets dans la file d’attente en appelant NdisMIndicateReceiveNetBufferLists.

Codes d’état de retour

Le pilote miniport retourne l’un des codes d’état suivants pour la requête de méthode OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE.

Code d’état Description

NDIS_STATUS_SUCCESS

L’allocation de file d’attente est terminée. La mémoire tampon d’informations contient la structure et les structures de paramètres NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY mises à jour avec l’état d’achèvement de l’allocation de file d’attente.

NDIS_STATUS_PENDING

La requête est en attente d’achèvement. Le code d’état final et les résultats sont transmis au gestionnaire d’achèvement de la demande OID de l’appelant.

NDIS_STATUS_INVALID_PARAMETER

Un ou plusieurs paramètres que le pilote surlysant fourni n’étaient pas valides.

NDIS_STATUS_INVALID_LENGTH

La mémoire tampon d’informations était trop courte. NDIS définit le DATA.METHOD_INFORMATION.membre BytesNeededed dans la structure NDIS_OID_REQUEST à la taille minimale de mémoire tampon requise.

NDIS_STATUS_NOT_SUPPORTED

La version NDIS du pilote miniport est antérieure à la version 6.20.

NDIS_STATUS_FAILURE

La demande a échoué pour d’autres raisons.

Exigences

Version

Pris en charge dans NDIS 6.20 et versions ultérieures.

En-tête

Ntddndis.h (include Ndis.h)

Voir aussi

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS