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 membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY qui est suivie d’une structure NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS pour chaque file d’attente. Après un retour réussi de la demande de méthode OID, le membre InformationBuffer 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 les status d’achèvement pour chaque file d’attente.

Notes

La demande de méthode OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE est facultative pour les pilotes miniport NDIS 6.20 et ultérieur. 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 défini les 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 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 requête OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE et qu’il a des filtres définis dans la file d’attente, la file d’attente est à 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 status suivants pour la demande 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 NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY mise à jour et les structures de paramètres avec le status d’achèvement pour l’allocation de file d’attente.

NDIS_STATUS_PENDING

La demande est en attente d’achèvement. Le code et les résultats status finaux sont passés au gestionnaire d’achèvement des requêtes OID de l’appelant.

NDIS_STATUS_INVALID_PARAMETER

Un ou plusieurs des paramètres fournis par le pilote de sur-position n’étaient pas valides.

NDIS_STATUS_INVALID_LENGTH

La mémoire tampon d’informations était trop courte. NDIS définit les DONNÉES. METHOD_INFORMATION. Le membre BytesNeeded dans le NDIS_OID_REQUEST structure à la taille de mémoire tampon minimale 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.

Spécifications

Version

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

En-tête

Ntddndis.h (inclure Ndis.h)

Voir aussi

NdisMIndicateReceiveNetBufferLists

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS