NdisAdvanceNetBufferListDataStart 함수(ndis/nblapi.h)
NdisAdvanceNetBufferListDataStart 함수를 호출하여 NdisRetreatNetBufferListDataStart 함수에 대한 이전 호출에서 클레임된 데이터 공간을 해제합니다.
구문
NDIS_EXPORTED_ROUTINE VOID NdisAdvanceNetBufferListDataStart(
[in] NET_BUFFER_LIST *NetBufferList,
[in] ULONG DataOffsetDelta,
[in] BOOLEAN FreeMdl,
NET_BUFFER_FREE_MDL *FreeMdlMdlHandler
);
매개 변수
[in] NetBufferList
이전에 할당된 NET_BUFFER_LIST 구조체에 대한 포인터입니다.
[in] DataOffsetDelta
해제할 사용된 데이터 공간 의 양입니다.
[in] FreeMdl
TRUE 및 NDIS가 해당 NdisRetreatNetBufferListDataStart 호출을 충족하기 위해 메모리를 할당한 경우 이 함수는 할당된 메모리와 연결된 MDL을 해제합니다.
FreeMdlMdlHandler
NetFreeMdl 함수에 대한 선택적 진입점입니다. 호출자가 NetFreeMdl 함수의 진입점을 지정하는 경우 NDIS는 NetFreeMdl 을 호출하여 MDL 및 메모리를 해제합니다.
반환 값
없음
설명
NdisAdvanceNetBufferListDataStart 릴리스는 NET_BUFFER_LIST 구조체의 모든 NET_BUFFER 구조에 대해 데이터 공간을 사용했습니다. FreeMdl이 TRUE이고 NdisRetreatNetBufferListDataStart가 할당된 메모리가 해당 할당 요청을 충족하는 경우
NdisAdvanceNetBufferListDataStart 는 할당된 메모리를 해제합니다. 이 함수를 호출하는 것은 NET_BUFFER_LIST 구조체의 모든 NET_BUFFER 구조에 대해 NdisAdvanceNetBufferDataStart 를 호출하는 것과 같습니다.
그러나 NdisAdvanceNetBufferListDataStart 를 호출하는 것이 더 효율적입니다.
프로토콜 드라이버가 수신 경로에서 NdisAdvanceNetBufferListDataStart 를 호출하여 다양한 전송 헤더에 액세스하는 경우 MDL 체인을 수정하면 안 되며 FreeMdl 은 FALSE입니다.
요구 사항
| 지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
| 대상 플랫폼 | 유니버설 |
| 헤더 | ndis/nblapi.h(ndis.h 포함) |
| 라이브러리 | Ndis.lib |
| IRQL | <= DISPATCH_LEVEL |
| DDI 규정 준수 규칙 | Irql_NetBuffer_Function(ndis) |
참고 항목
피드백
다음에 대한 사용자 의견 제출 및 보기