NdisMFreeNetBufferSGList 함수(ndis.h)
주의
ARM 및 ARM64 프로세서의 경우 NDIS 드라이버 작성기는 NDIS 분산형/수집 DMA 대신 WDF DMA 또는 WDM DMA를 사용하는 것이 좋습니다.
WDF DMA에 대한 자세한 내용은 KMDF 드라이버에서 DMA 작업 처리를 참조하세요.
WDM DMA에 대한 자세한 내용은 드라이버에 대한 입력/출력 관리의 DMA 관련 자식 항목을 참조하세요.
버스 마스터 미니포트 드라이버는 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 구조체에 대한 포인터입니다.
반환 값
없음
설명
버스 마스터 미니포트 드라이버는 NdisMFreeNetBufferSGList 함수를 호출하여 분산/수집 목록을 해제해야 합니다. 미니포트 드라이버는 일반적으로 전송 전체 인터럽트를 처리하는 동안 또는 드라이버에 더 이상 분산/수집 목록이 필요하지 않은 경우 MiniportInterruptDPC 함수에서 NdisMFreeNetBufferSGList를 호출합니다. 드라이버 또는 하드웨어가 분산/수집 목록과 연결된 NET_BUFFER 구조에서 설명하는 메모리에 계속 액세스하는 동안에는 NdisMFreeNetBufferSGList를 호출하지 마세요.
미니포트 드라이버는 NdisMFreeNetBufferSGList가 반환된 후 NdisMAllocateNetBufferSGList 함수의 ScatterGatherListBuffer 매개 변수에 지정된 버퍼를 해제할 수 있습니다.
받은 데이터에 액세스하기 전에 미니포트 드라이버는 NdisMFreeNetBufferSGList 를 호출하여 메모리 캐시를 플러시해야 합니다.
요구 사항
| 지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | ndis.h(Ndis.h 포함) |
| 라이브러리 | Ndis.lib |
| IRQL | DISPATCH_LEVEL |
| DDI 규정 준수 규칙 | Irql_Gather_DMA_Function(ndis) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기