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) |