NET_BUFFER_SHARED_MEMORY structure (ndis/nbl.h)

The NET_BUFFER_SHARED_MEMORY structure specifies a shared memory buffer that is associated with a NET_BUFFER structure.

Syntax

typedef struct _NET_BUFFER_SHARED_MEMORY {
  NET_BUFFER_SHARED_MEMORY *NextSharedMemorySegment;
  ULONG                    SharedMemoryFlags;
  NDIS_HANDLE              SharedMemoryHandle;
  ULONG                    SharedMemoryOffset;
  ULONG                    SharedMemoryLength;
} NET_BUFFER_SHARED_MEMORY, *PNET_BUFFER_SHARED_MEMORY;

Members

NextSharedMemorySegment

A pointer to the next NET_BUFFER_SHARED_MEMORY structure in a NULL-terminated linked list of such structures.

SharedMemoryFlags

A ULONG value that contains shared memory flags. This member is reserved for future use.

SharedMemoryHandle

An NDIS_HANDLE that contains an NDIS shared memory handle.

SharedMemoryOffset

A ULONG value that contains the offset, in bytes, of the shared memory.

SharedMemoryLength

A ULONG value for the length, in bytes, of the shared memory segment.

Remarks

An NDIS 6.20 or later driver uses the NET_BUFFER_SHARED_MEMORY structure to describe a shared memory buffer. There can be a linked list of such shared memory buffers that are associated with a NET_BUFFER structure. Virtual machine queue (VMQ) capable NICs use these shared memory buffers in the virtualization environment.

Use the NET_BUFFER_SHARED_MEM_NEXT_SEGMENT, NET_BUFFER_SHARED_MEM_FLAGS, NET_BUFFER_SHARED_MEM_HANDLE, NET_BUFFER_SHARED_MEM_OFFSET, and NET_BUFFER_SHARED_MEM_LENGTH macros to access the NET_BUFFER_SHARED_MEMORY in a NET_BUFFER structure. The SharedMemoryInfo member of the NET_BUFFER structure contains the first NET_BUFFER_SHARED_MEMORY structure in the linked list.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.20 and later.
Header ndis/nbl.h (include ndis.h)

See also

NET_BUFFER

NET_BUFFER_SHARED_MEM_FLAGS

NET_BUFFER_SHARED_MEM_HANDLE

NET_BUFFER_SHARED_MEM_LENGTH

NET_BUFFER_SHARED_MEM_NEXT_SEGMENT

NET_BUFFER_SHARED_MEM_OFFSET