Функция NdisMFreeNetBufferSGList (ndis.h)
Внимание!
Для процессоров ARM и ARM64 настоятельно рекомендуется, чтобы модули записи драйверов NDIS использовали WDF DMA или WDM DMA вместо NDIS Scatter/Gather DMA.
Дополнительные сведения о WDF DMA см. в разделе Обработка операций DMA в драйверах KMDF.
Дополнительные сведения о WDM DMA см. в дочерних разделах, связанных с DMA статьи Управление входными и выходными данными для драйверов.
Водители master минипорта в шине вызывают функцию NdisMFreeNetBufferSGList, чтобы освободить ресурсы точечного или собирания списка, которые были выделены путем вызова Функция NdisMAllocateNetBufferSGList .
Синтаксис
void NdisMFreeNetBufferSGList(
[in] NDIS_HANDLE NdisMiniportDmaHandle,
[in] PSCATTER_GATHER_LIST pSGL,
[in] PNET_BUFFER NetBuffer
);
Параметры
[in] NdisMiniportDmaHandle
Дескриптор контекстной области, которую NDIS использует для управления ресурсом DMA. Вызывающий объект получил этот дескриптор, вызвав Функция NdisMRegisterScatterGatherDma .
[in] pSGL
Указатель на буфер точечного или собираемого списка драйвера минипорта.
[in] NetBuffer
Указатель на структуру NET_BUFFER , связанную с указанным буфером точечного или собираемого списка.
Возвращаемое значение
None
Remarks
Водители master минипорта должны вызывать функцию NdisMFreeNetBufferSGList, чтобы освободить точечный или собирательный список. Драйвер мини-порта обычно вызывает NdisMFreeNetBufferSGList из своей функции MiniportInterruptDPC во время обработки полного прерывания отправки или в любое время, когда драйверу больше не требуется список точечной и сборной. Не вызывайте NdisMFreeNetBufferSGList , пока драйвер или оборудование по-прежнему обращаются к памяти, описанной в структуре NET_BUFFER, связанной со списком точечной и сборной.
Драйверы минипорта могут освободить буфер, указанный в параметре ScatterGatherListBuffer функции NdisMAllocateNetBufferSGList после возврата NdisMFreeNetBufferSGList .
Перед доступом к полученным данным драйверы минипорта должны вызвать NdisMFreeNetBufferSGList для очистки кэша памяти.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | DISPATCH_LEVEL |
Правила соответствия DDI | Irql_Gather_DMA_Function(ndis) |