Función NdisMFreeNetBufferSGList (ndis.h)
Precaución
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 de DMA en controladores kmDF.
Para obtener más información sobre WDM DMA, consulte los temas secundarios relacionados con DMA de Administración de entrada y salida para controladores.
Los controladores de minipuerto de Bus-master llaman a la función NdisMFreeNetBufferSGList para liberar recursos de lista de dispersión y 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 mediante una llamada a Función NdisMRegisterScatterGatherDma .
[in] pSGL
Puntero a un búfer de lista de dispersión o recopilación de controladores de minipuerto.
[in] NetBuffer
Puntero a la estructura NET_BUFFER asociada al búfer de lista de dispersión o recopilación especificado.
Valor devuelto
None
Observaciones
Los controladores de minipuerto de Bus-master deben llamar a la función NdisMFreeNetBufferSGList para liberar una lista de dispersión o recopilación. Normalmente, un controlador de miniporte llama 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 el hardware todavía acceden 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 el parámetro ScatterGatherListBuffer de la función NdisMAllocateNetBufferSGList después de que se devuelva NdisMFreeNetBufferSGList .
Antes de acceder a los datos recibidos, los controladores de minipuerto deben llamar a NdisMFreeNetBufferSGList para vaciar la memoria caché.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Compatible con NDIS 6.0 y versiones posteriores. |
Plataforma de destino | Universal |
Encabezado | ndis.h (incluya Ndis.h) |
Library | Ndis.lib |
IRQL | DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | Irql_Gather_DMA_Function(ndis) |
Consulte también
Dispersión y recopilación de DMA de NDIS
NdisMRegisterScatterGatherDma