Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Como solicitud establecida, NDIS y controladores de protocolo excesivo usan la solicitud de OID de OID_802_3_MULTICAST_LIST para reemplazar la lista de direcciones de multidifusión actual en un adaptador de miniport. Si una dirección está presente en la lista, esa dirección está habilitada para recibir paquetes de multidifusión.
Como solicitud de consulta, los controladores de protocolo y NDIS usan la solicitud de OID de OID_802_3_MULTICAST_LIST para obtener la lista de direcciones de multidifusión actual.
NDIS controla OID_802_3_MULTICAST_LIST solicitudes de consulta para controladores de miniport, por lo que los controladores de miniporte nunca reciben estas solicitudes de consulta.
Los controladores de miniporte que admiten listas de direcciones de multidifusión deben admitir OID_802_3_MULTICAST_LIST establecer solicitudes.
Para una solicitud establecida, el InformationBuffer miembro de la estructura NDIS_OID_REQUEST contiene la lista de direcciones de multidifusión como una matriz de direcciones.
- Cada dirección es una matriz de 6 bytes.
- El miembro InformationBufferLength contiene la longitud, en bytes, de la matriz InformationBuffer.
- Si hay direcciones duplicadas en la lista del miembro InformationBuffer, NDIS quita los duplicados antes de enviar la solicitud OID_802_3_MULTICAST_LIST establecer la solicitud al controlador de miniport.
- Si el miembro InformationBufferLength es cero, el controlador de miniport debe borrar la lista de direcciones de multidifusión.
- Si el miembro InformationBufferLength es mayor que cero, el controlador de miniporte debe reemplazar cualquier lista de direcciones de multidifusión existente por la lista del miembro informationBuffer de.
La lista de direcciones de multidifusión del adaptador de miniporte es compartida por todos los controladores de protocolo que están enlazados al adaptador de miniport. NDIS controla el acceso a esta lista. Si varios controladores de protocolo intentan modificar la lista al mismo tiempo, NDIS combina sus solicitudes en una única solicitud de conjunto de OID_802_3_MULTICAST_LIST, que envía al controlador de miniport.
Cuando se inicializa un adaptador de miniporte, restablece la NIC para que la lista de direcciones de multidifusión sea cero. NDIS también inicializa el filtro de paquetes para que no permita que el controlador de protocolo reciba paquetes de multidifusión.
Para recibir un paquete de multidifusión, el controlador de protocolo debe realizar una de las siguientes acciones:
- Establezca el filtro de paquetes para incluir la marca NDIS_PACKET_TYPE_MULTICAST. En cualquier momento, puede deshabilitar la recepción de paquetes de multidifusión cancelando esta marca. El orden en el que el controlador de protocolo habilita la recepción de paquetes de multidifusión no es importante. Para obtener más información, consulte la solicitud OID de OID_GEN_CURRENT_PACKET_FILTER.
- Establezca el filtro de paquetes para incluir la marca NDIS_PACKET_TYPE_ALL_MULTICAST, que habilita todos los paquetes de multidifusión y realiza el filtrado.
El controlador de minipuerto puede establecer un límite en el número de direcciones de multidifusión que puede contener la lista de direcciones de multidifusión. NDIS devuelve NDIS_STATUS_MULTICAST_FULL si un controlador de protocolo supera este límite o si especifica una dirección de multidifusión no válida.
Para una solicitud de consulta, NDIS devuelve una lista de direcciones de multidifusión que es la unión de todas las listas de direcciones de multidifusión para todos los enlaces de protocolo.
Requisitos
Encabezado |
Ntddndis.h (include Ndis.h) |
Consulte también
OID_802_3_ADD_MULTICAST_ADDRESS