OID_RECEIVE_FILTER_CLEAR_FILTER
El exceso de controladores emite solicitudes de conjunto de OID de OID_RECEIVE_FILTER_CLEAR_FILTER para borrar un filtro de recepción en un adaptador de red.
El miembro InformationBuffer de la estructura NDIS_OID_REQUEST contiene un puntero a una estructura de NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS .
Observaciones
Los filtros de recepción NDIS se usan en las siguientes interfaces NDIS:
Fusión de paquetes NDIS. Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, vea Administración de filtros de recepción de fusión de paquetes.
Virtualización de E/S raíz única (SR-IOV). Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, vea Establecer un filtro de recepción en un puerto virtual.
Virtual Machine Queue (VMQ). Para obtener más información sobre cómo usar filtros de recepción en esta interfaz, consulte Configuración y borrado de filtros de VMQ.
La solicitud de conjunto de OID de OID_RECEIVE_FILTER_CLEAR_FILTER es obligatoria para los controladores de minipuerto que admiten el fusión de paquetes NDIS, SR-IOV o interfaz VMQ.
Un controlador de exceso, como un protocolo NDIS o un controlador de filtro, usa la solicitud de conjunto de OID_RECEIVE_FILTER_CLEAR_FILTER para borrar un filtro establecido anteriormente. Solo el controlador que establece el filtro de recepción puede borrarlo.
El controlador sobrepuesto borra un filtro de recepción estableciendo el miembro FilterId de la estructura de NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS en el identificador del filtro. El controlador obtuvo el identificador de filtro de una solicitud de método OID anterior de OID_RECEIVE_FILTER_SET_FILTER.
Instrucciones adicionales para la fusión de paquetes NDIS
El siguiente punto se aplica a los controladores de miniporte y sobreasignación que admiten la fusión de paquetes NDIS:
- Un controlador de sobresalto debe borrar todos los filtros de recepción que estableció en el controlador de miniporte antes de desenlace o desasocie del controlador.
Directrices adicionales para la interfaz SR-IOV
Los siguientes puntos se aplican a los controladores de miniporte y sobreaportamiento que admiten la interfaz SR-IOV:
Un controlador de sobresintroducción debe borrar todos los filtros que estableció en una VPort SR-IOV antes de liberar la VPort. El controlador que se sobrepone también debe borrar todos los filtros que estableció en la VPort predeterminada antes de cerrar su enlace al adaptador de red.
Un controlador de minipuerto no debe indicar paquetes en un VPort no predeterminado si ha completado la solicitud OID de OID_RECEIVE_FILTER_CLEAR_FILTER para borrar el último filtro en VPort.
Nota Un controlador de minipuerto tampoco debe indicar paquetes en un VPort no predeterminado si ha completado una solicitud de OID de OID_NIC_SWITCH_DELETE_VPORT para liberar la VPort.
Instrucciones adicionales para la interfaz VMQ
Los siguientes puntos se aplican a los controladores de minipuerto y sobreaporte que admiten la interfaz VMQ:
Un controlador de sobresalto debe borrar todos los filtros establecidos en una cola de recepción de VMQ antes de liberar la cola. El controlador que se sobrepone también debe borrar todos los filtros establecidos en las colas predeterminadas o quitar antes de cerrar su enlace al adaptador de red.
Un controlador de minipuerto no debe indicar paquetes en una cola de recepción si ha completado la solicitud OID de OID_RECEIVE_FILTER_CLEAR_FILTER para borrar el último filtro de la cola de recepción.
Nota Un controlador de minipuerto tampoco debe indicar paquetes en una cola de recepción si ha completado una solicitud de OID de OID_RECEIVE_FILTER_FREE_QUEUE para liberar la cola de recepción.
Códigos de estado de devolución
La función MiniportOidRequest del controlador miniportador devuelve uno de los siguientes valores para esta solicitud:
Término | Descripción |
---|---|
NDIS_STATUS_SUCCESS |
El controlador de minipuerto completó la solicitud correctamente. |
NDIS_STATUS_PENDING |
El controlador de minipuerto completará la solicitud de forma asincrónica. Después de que el controlador de miniporte haya completado todo el procesamiento, debe realizarse correctamente la solicitud llamando a la función NdisMOidRequestComplete , pasando NDIS_STATUS_SUCCESS para el parámetro Status . |
NDIS_STATUS_NOT_ACCEPTED |
El adaptador de minipuerto ha sido sorprendido quitado. |
NDIS devuelve uno de los siguientes códigos de estado para esta solicitud:
NDIS_STATUS_SUCCESS
El filtro especificado se ha borrado correctamente.
NDIS_STATUS_PENDING
La solicitud está pendiente de finalización. NDIS pasará el código de estado final y los resultados al controlador de finalización de solicitudes OID del autor de la llamada una vez completada la solicitud.
NDIS_STATUS_FILE_NOT_FOUND
El identificador de filtro no es válido.
NDIS_STATUS_INVALID_LENGTH
El búfer de información es demasiado pequeño. NDIS establece data . SET_INFORMATION. BytesNeeded miembro de la estructura NDIS_OID_REQUEST al tamaño mínimo del búfer necesario.
Requisitos
Versión |
Compatible con NDIS 6.20 y versiones posteriores. |
Encabezado |
Ntddndis.h (include Ndis.h) |