OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE
Los controladores de protocolo NDIS emiten solicitudes de método de identificador de objeto (OID) de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE para notificar al controlador de miniporte que se ha completado una asignación para el lote actual de colas de recepción.
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY seguida de una estructura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS para cada cola. Después de una devolución correcta de la solicitud de método OID, el miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a la misma matriz de estructuras y el miembro CompletionStatus de cada estructura NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS contiene el estado de finalización de cada cola.
Observaciones
La solicitud de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE es opcional para los controladores de miniporte NDIS 6.20 y versiones posteriores. Es obligatorio para los controladores de minipuerto que admiten la interfaz de cola de máquinas virtuales (VMQ).
Después de asignar una o varias colas de recepción y, opcionalmente, establecer los filtros iniciales, el controlador de protocolo debe emitir la solicitud de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE para notificar al controlador de minipuerto que la asignación se ha completado para el lote actual de colas de recepción. Esto permite al controlador de minipuerto equilibrar los recursos de hardware entre varias colas de recepción; si es necesario, puede asignar recursos como la memoria compartida para las colas de recepción.
Una vez que un controlador de miniporte recibe una solicitud de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE y tiene filtros establecidos en la cola, la cola se encuentra en estado En ejecución. En este estado, el controlador de minipuerto puede iniciar indicaciones de paquetes en la cola llamando a NdisMIndicateReceiveNetBufferLists.
Códigos de estado de devolución
El controlador de minipuerto devuelve uno de los siguientes códigos de estado para la solicitud de método OID de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE.
status code | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
La asignación de cola se ha completado. El búfer de información contiene la estructura de NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY actualizada y las estructuras de parámetros con el estado de finalización de la asignación de cola. |
NDIS_STATUS_PENDING |
La solicitud está pendiente de finalización. El código de estado final y los resultados se pasarán al controlador de finalización de solicitudes de OID del autor de la llamada. |
NDIS_STATUS_INVALID_PARAMETER |
Uno o varios de los parámetros que proporcionó el controlador de sobreaprovisionamiento no eran válidos. |
NDIS_STATUS_INVALID_LENGTH |
El búfer de información era demasiado corto. NDIS establece los DATOS. METHOD_INFORMATION. Miembro BytesNeeded de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario. |
NDIS_STATUS_NOT_SUPPORTED |
La versión NDIS del controlador de minipuerto es anterior a la versión 6.20. |
NDIS_STATUS_FAILURE |
Error en la solicitud por otros motivos. |
Requisitos
Versión |
Se admite en NDIS 6.20 y versiones posteriores. |
Encabezado |
Ntddndis.h (incluye Ndis.h) |
Consulte también
NdisMIndicateReceiveNetBufferLists