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.
Un controlador de protocolo debe administrar los grupos de estructuras NET_BUFFER_LIST y NET_BUFFER para las operaciones de envío. Para crear estos grupos, los controladores llaman a las funciones siguientes:
Los controladores de protocolo pueden usar las siguientes funciones para asignar estructuras de los pools:
NdisAllocateNetBufferAndNetBufferList
Llamar a NdisAllocateNetBufferAndNetBufferList es más eficaz que llamar a NdisAllocateNetBufferList seguido de NdisAllocateNetBuffer. Sin embargo, NdisAllocateNetBufferAndNetBufferList solo crea una estructura NET_BUFFER en la estructura NET_BUFFER_LIST. Para usar NdisAllocateNetBufferAndNetBufferList, el controlador debe establecer el parámetro AllocateNetBuffer en TRUE cuando llama a NdisAllocateNetBufferListPool.
Los controladores de protocolo pueden usar solicitudes OID para consultar los requisitos de espacio para retroalimentación y de contexto de los controladores subyacentes. Un controlador de protocolo debe determinar los requisitos de back-fill y de contexto para una asociación en los estados de apertura o reinicio. El controlador debe asignar suficiente espacio de contexto y respaldo para toda la pila. Si es necesario, un controlador de protocolo puede liberar los grupos y reasignarlos en el estado Reinicio .
Los controladores de protocolo usan las siguientes funciones para liberar los grupos:
Los controladores de protocolo usan las siguientes funciones para liberar las estructuras asignadas desde los grupos:
Los controladores deben liberar las estructuras de NET_BUFFER asignadas con NdisAllocateNetBuffer antes de liberar la estructura asociada de NET_BUFFER_LIST. Las estructuras NET_BUFFER asignadas con NdisAllocateNetBufferAndNetBufferList se liberan cuando el controlador llama a NdisFreeNetBufferList para la estructura NET_BUFFER_LIST asociada.