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