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.
Cautela
En el caso de los procesadores ARM y ARM64, se recomienda encarecidamente que los escritores de controladores NDIS usen WDF DMA o WDM DMA en lugar de NDIS Scatter/Gather DMA.
Para obtener más información sobre WDF DMA, vea control de operaciones DMA en controladores kmDF.
Para obtener más información sobre WDM DMA, consulte los temas secundarios relacionados con DMA de Administración de entradas y salidas para controladores.
Los controladores de minipuerto de Bus-master llaman a la función NdisMFreeNetBufferSGList para liberar recursos de lista de dispersión o recopilación asignados mediante una llamada a función NdisMAllocateNetBufferSGList.
Sintaxis
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Parámetros
[in] NdisMiniportDmaHandle
Identificador de un área de contexto que NDIS usa para administrar un recurso DMA. El autor de la llamada obtuvo este identificador llamando al función NdisMRegisterScatterGatherDma.
[in] pSGL
Puntero a un búfer de lista de dispersión o recopilación de controladores de miniporte.
[in] NetBuffer
Puntero a la estructura NET_BUFFER asociada al búfer de lista de dispersión o recopilación especificado.
Valor devuelto
Ninguno
Observaciones
Los controladores de minipuerto de bus-master deben llamar a la función NdisMFreeNetBufferSGList para liberar una lista de dispersión y recopilación. Un controlador de miniport suele llamar a NdisMFreeNetBufferSGList desde su función MiniportInterruptDPC mientras controla una interrupción completa de envío o en cualquier momento que el controlador ya no requiera la lista de dispersión o recopilación. No llame a NdisMFreeNetBufferSGList mientras el controlador o hardware sigue accediendo a la memoria descrita por la estructura de NET_BUFFER asociada a la lista de dispersión y recopilación.
Los controladores de miniport pueden liberar el búfer especificado en la función ScatterGatherListBuffer del NdisMAllocateNetBufferSGList función después de NdisMFreeNetBufferSGList devuelve.
Antes de acceder a los datos recibidos, los controladores de miniport deben llamar a NdisMFreeNetBufferSGList para vaciar la memoria caché.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Se admite en NDIS 6.0 y versiones posteriores. |
de la plataforma de destino de | Universal |
encabezado de | ndis.h (incluya Ndis.h) |
biblioteca de | Ndis.lib |
irQL | DISPATCH_LEVEL |
reglas de cumplimiento de DDI | Irql_Gather_DMA_Function(ndis) |
Consulte también
dispersión de NDIS/recopilar DMA
NdisMRegisterScatterGatherDma