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

NDIS_OID_REQUEST

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_ARRAY

NDIS_RECEIVE_QUEUE_ALLOCATION_COMPLETE_PARAMETERS