Compartilhar via


Transmitir dados de rede por meio de um driver intermediário

Conforme discutido em Registrar um driver intermediário como um driver de miniporto, um driver intermediário deve fornecer uma função MiniportSendNetBufferLists quando ele se registra com NdisMRegisterMiniportDriver. A função MiniportSendNetBufferLists poderá encaminhar estruturas de NET_BUFFER_LIST de entrada chamando NdisSendNetBufferLists se o driver tiver uma borda inferior sem conexão. MiniportSendNetBufferLists pode enviar a lista de estruturas NET_BUFFER_LIST que recebe com NdisSendNetBufferLists sem considerar os recursos do driver de miniporto subjacente.

MiniportSendNetBufferLists recebe uma lista de estruturas de NET_BUFFER_LIST organizadas em uma ordem determinada por um chamador sobressociente de NdisSendNetBufferLists. Na maioria dos casos, o driver intermediário deve manter essa ordenação à medida que passa uma matriz de entrada de estruturas NET_BUFFER_LIST para o driver de miniporto subjacente. Um driver intermediário que modifica dados em dados de rede antes de passá-los para o driver subjacente pode reordenar uma lista.

O NDIS sempre preserva a ordenação de NET_BUFFER_LIST ponteiros de estrutura, conforme passado como uma lista vinculada para NdisSendNetBufferLists. O driver de miniporto subjacente também pressupõe que a lista passada para sua função MiniportSendNetBufferLists implica que os dados de rede devem ser transmitidos na mesma ordem.