NdisFreeCloneNetBufferList function

Call the NdisFreeCloneNetBufferList function to free a NET_BUFFER_LIST structure and all associated NET_BUFFER structures and MDL chains that were previously allocated by calling the NdisAllocateCloneNetBufferList function.

Syntax

void NdisFreeCloneNetBufferList(
  PNET_BUFFER_LIST CloneNetBufferList,
  ULONG            FreeCloneFlags
);

Parameters

CloneNetBufferList

A pointer to a NET_BUFFER_LIST structure that was allocated by calling NdisAllocateCloneNetBufferList.

FreeCloneFlags

NDIS flags that can be combined with an OR operation. The following flags are defined:

NDIS_CLONE_FLAGS_RESERVED

Reserved for NDIS.

NDIS_CLONE_FLAGS_USE_ORIGINAL_MDLS

If this flag is set, NDIS did not allocate new MDLs for the cloned NET_BUFFER_LIST in the NdisAllocateCloneNetBufferList function. Instead, the cloned NET_BUFFER_LIST used the same MDL chain as in the original NET_BUFFER_LIST. If NDIS_CLONE_FLAGS_USE_ORIGINAL_MDLS is cleared, NDIS allocated new MDLs to reference the original data buffers.

Return Value

None

Remarks

The caller must specifiy the same flags that it specified in the AllocateCloneFlags parameter when it called the NdisAllocateCloneNetBufferList function.

Requirements

   
Minimum supported client Supported in NDIS 6.0 and later.
Target Platform Universal
Header ndis.h (include Ndis.h)
Library Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI compliance rules Irql_NetBuffer_Function

See Also

NET_BUFFER

NET_BUFFER_LIST

NdisAllocateCloneNetBufferList