Compartir a través de


Transmisión de datos de red a través de un controlador intermedio

Como se describe en Registro de un controlador intermedio como controlador miniport, un controlador intermedio debe proporcionar una función MiniportSendNetBufferLists cuando se registra con NdisMRegisterMiniportDriver. La función MiniportSendNetBufferLists puede reenviar estructuras de NET_BUFFER_LIST entrantes llamando a NdisSendNetBufferLists si el controlador tiene un borde inferior sin conexión. MiniportSendNetBufferLists puede enviar la lista de estructuras de NET_BUFFER_LIST que recibe con NdisSendNetBufferLists sin tener en cuenta las funciones del controlador de miniport subyacente.

MiniportSendNetBufferLists recibe una lista de estructuras de NET_BUFFER_LIST organizadas en un orden determinado por un llamador excesivo de NdisSendNetBufferLists. En la mayoría de los casos, el controlador intermedio debe mantener esta ordenación a medida que pasa una matriz entrante de estructuras de NET_BUFFER_LIST al controlador de minipuerto subyacente. Un controlador intermedio que modifica los datos de los datos de red antes de pasarlos al controlador subyacente puede reordenar una lista.

NDIS siempre conserva la ordenación de los punteros de estructura de NET_BUFFER_LIST tal y como se pasa como una lista vinculada a NdisSendNetBufferLists. El controlador de miniport subyacente también supone que la lista que se pasa a su función MiniportSendNetBufferLists implica que los datos de red deben transmitirse en el mismo orden.