NdisMFreeNetBufferSGList 함수(ndis.h)
주의
ARM 및 ARM64 프로세서의 경우 NDIS 드라이버 작성기는 NDIS 분산/수집 DMA 대신 WDF DMA 또는 WDM DMA를 사용하는 것이 좋습니다.
WDF DMA에 대한 자세한 내용은 KMDF 드라이버에서 DMA 작업 처리를 참조하세요.
WDM DMA에 대한 자세한 내용은 드라이버에 대한 입력/출력 관리의 DMA 관련 자식 topics 참조하세요.
버스 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 구조체에 대한 포인터입니다.
반환 값
없음
설명
버스 master 미니포트 드라이버는 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) |