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