Share via


NdisFreeCloneNetBufferList (Compact 7)

3/12/2014

Call this 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(
    IN PNET_BUFFER_LIST  CloneNetBufferList,
    IN 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

Header

ndis.h

See Also

Reference

NDIS NET_BUFFER Functions
NET_BUFFER
NET_BUFFER_LIST
NdisAllocateCloneNetBufferList