다음을 통해 공유


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

해당 NdisRetreatNetBufferListDataStart 호출을 충족하기 위해 TRUE 및 NDIS 할당 메모리를 경우 이 함수는 할당된 메모리와 연결된 MDL을 해제합니다.

FreeMdlMdlHandler

NetFreeMdl 함수에 대한 선택적 진입점입니다. 호출자가 NetFreeMdl 함수의 진입점을 지정하는 경우 NDIS는 NetFreeMdl 호출하여 MDL 및 메모리를 해제합니다.

반환 값

없음

발언

NdisAdvanceNetBufferListDataStart 릴리스는 NET_BUFFER_LIST 구조의 모든 NET_BUFFER 구조에 사용되는 데이터 공간 릴리스합니다. FreeMdl TRUE 경우 NdisRetreatNetBufferListDataStart는 할당된 메모리를 해당 할당 요청을 충족합니다.
NdisAdvanceNetBufferListDataStart 할당된 메모리를 해제합니다. 이 함수를 호출하는 것은 호출과 동일합니다. NdisAdvanceNetBufferDataStart는 NET_BUFFER_LIST 구조체의 모든 NET_BUFFER 구조에 대해. 그러나 NdisAdvanceNetBufferListDataStart 호출하는 것이 더 효율적입니다.

프로토콜 드라이버가 수신 경로에서 NdisAdvanceNetBufferListDataStart 호출하여 다양한 전송 헤더에 액세스하는 경우 MDL 체인을 수정하면 안 되며 FreeMdl false .

요구 사항

요구
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 보편적
헤더 ndis/nblapi.h(ndis.h 포함)
라이브러리 Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 Irql_NetBuffer_Function(ndis)

참고 항목

NET_BUFFER

NET_BUFFER_LIST

NdisAdvanceNetBufferDataStart NdisRetreatNetBufferListDataStart

netAllocateMdl

NetFreeMdl