Partager via


Transmission de données réseau via un pilote intermédiaire

Comme indiqué dans Inscription d’un pilote intermédiaire en tant que pilote miniport, un pilote intermédiaire doit fournir une fonction MiniportSendNetBufferLists lorsqu’il s’inscrit auprès de NdisMRegisterMiniportDriver. La fonction MiniportSendNetBufferLists peut transférer les structures de NET_BUFFER_LIST entrantes en appelant NdisSendNetBufferLists si le pilote a un bord inférieur sans connexion . MiniportSendNetBufferLists peut envoyer la liste des structures NET_BUFFER_LIST qu’il reçoit avec NdisSendNetBufferLists , sans tenir compte des fonctionnalités du pilote miniport sous-jacent.

MiniportSendNetBufferLists reçoit une liste de structures NET_BUFFER_LIST organisées dans un ordre déterminé par un appelant trop de NdisSendNetBufferLists. Dans la plupart des cas, le pilote intermédiaire doit conserver cet ordre car il transmet un tableau entrant de structures NET_BUFFER_LIST au pilote miniport sous-jacent. Un pilote intermédiaire qui modifie les données dans les données réseau avant de les transmettre au pilote sous-jacent peut réorganiser une liste.

NDIS conserve toujours l’ordre des pointeurs de structure NET_BUFFER_LIST transmis en tant que liste liée à NdisSendNetBufferLists. Le pilote miniport sous-jacent suppose également que la liste transmise à sa fonction MiniportSendNetBufferLists implique que les données réseau doivent être transmises dans le même ordre.