NdisFreeCloneNetBufferList function (ndis/nblapi.h)

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

NDIS_EXPORTED_ROUTINE VOID NdisFreeCloneNetBufferList(
  [in] NET_BUFFER_LIST *CloneNetBufferList,
  [in] ULONG           FreeCloneFlags
);

Parameters

[in] CloneNetBufferList

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

[in] 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 specify the same flags that it specified in the AllocateCloneFlags parameter when it called the NdisAllocateCloneNetBufferList function.

Requirements

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

See also

NET_BUFFER

NET_BUFFER_LIST

NdisAllocateCloneNetBufferList