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 miniportar 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 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 del método OID, el miembro InformationBuffer de la estructura de NDIS_OID_REQUEST contiene un puntero a la misma matriz de estructuras y el miembro CompletionStatus de cada estructura de 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 miniport NDIS 6.20 y versiones posteriores. Es obligatorio para los controladores de miniportar 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 miniport que la asignación se ha completado para el lote actual de colas de recepción. Esto permite que el controlador de miniporte equilibre 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.
Después de que un controlador de miniporte reciba una solicitud de OID_RECEIVE_FILTER_QUEUE_ALLOCATION_COMPLETE y tenga filtros establecidos en la cola, la cola se encuentra en estado En ejecución. En este estado, el controlador de miniporte puede iniciar indicaciones de paquetes en la cola llamando a NdisMIndicateReceiveNetBufferLists.
Códigos de estado de retorno
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.
Código de estado | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
Se ha completado la asignación de colas. 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 colas. |
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 OID del autor de la llamada. |
NDIS_STATUS_INVALID_PARAMETER |
Uno o varios de los parámetros que proporcionó el controlador sobreaportado no eran válidos. |
NDIS_STATUS_INVALID_LENGTH |
El búfer de información era demasiado corto. NDIS establece el DATA.METHOD_INFORMATION.miembro bytesNeeded de la estructura NDIS_OID_REQUEST con el tamaño mínimo del búfer necesario. |
NDIS_STATUS_NOT_SUPPORTED |
La versión NDIS del controlador de miniport 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 (include Ndis.h) |
Consulte también
NdisMIndicateReceiveNetBufferLists