Поделиться через


структура NDIS_SHARED_MEMORY_PARAMETERS (ndis.h)

Структура NDIS_SHARED_MEMORY_PARAMETERS указывает параметры общей памяти для запроса на выделение общей памяти.

Синтаксис

typedef struct _NDIS_SHARED_MEMORY_PARAMETERS {
  NDIS_OBJECT_HEADER       Header;
  ULONG                    Flags;
  NDIS_RECEIVE_QUEUE_ID    QueueId;
  NDIS_HANDLE              SharedMemoryHandle;
  NODE_REQUIREMENT         PreferredNode;
  NDIS_SHARED_MEMORY_USAGE Usage;
  ULONG                    Length;
  PVOID                    VirtualAddress;
  ULONG                    SGListBufferLength;
  PSCATTER_GATHER_LIST     SGListBuffer;
  NDIS_NIC_SWITCH_VPORT_ID VPortId;
} NDIS_SHARED_MEMORY_PARAMETERS, *PNDIS_SHARED_MEMORY_PARAMETERS;

Члены

Header

Тип, редакция и размер структуры NDIS_SHARED_MEMORY_PARAMETERS. Этот элемент имеет формат структуры NDIS_OBJECT_HEADER .

Драйвер мини-порта должен задать для элемента Typeзаголовка значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_SHARED_MEMORY_PARAMETERS, драйвер должен задать для члена Редакциизаголовка одно из следующих значений:

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

Добавлен VPortId для NDIS 6.30.

Задайте для элемента Размер значение NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

Исходная версия для NDIS 6.20.

Задайте для элемента Размер значение NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.

Flags

Значение UCHAR, содержащее побитовое ЗНАЧЕНИЕ ИЛИ следующего значения:

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

Общая память находится в непрерывном блоке памяти.

QueueId

Значение NDIS_RECEIVE_QUEUE_ID, содержащее очередь получения виртуальной машины (VMQ) или одно корневую очередь ввода-вывода (SR-IOV). Этот идентификатор представляет собой целое число от нуля до количества очередей, поддерживаемых адаптером мини-порта. Значение NDIS_DEFAULT_RECEIVE_QUEUE_ID указывает очередь получения по умолчанию.

Примечание Начиная с Windows Server 2012 интерфейс SR-IOV поддерживает очередь получения по умолчанию только на виртуальных портах по умолчанию и виртуальных портах (VPorts). Драйверы miniport, поддерживающие интерфейс SR-IOV, должны задать для элемента QueueId значение NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

SharedMemoryHandle

Значение NDIS_HANDLE, определяющее блок общей памяти. NDIS предоставляет этот дескриптор перед возвратом изФункция NdisAllocateSharedMemory.

PreferredNode

Значение NODE_REQUIREMENT, указывающее предпочтительный узел для использования при выделении памяти. Если драйвер не имеет предпочтения, необходимо задать значение MM_ANY_NODE_OK.

Usage

Значение перечисления NDIS_SHARED_MEMORY_USAGE , указывающее назначение общей памяти.

Length

Значение ULONG, содержащее длину блока общей памяти (в байтах).

VirtualAddress

Значение PVOID, содержащее базовый виртуальный адрес общей памяти. NDIS предоставляет это значение перед возвратом из функции NdisAllocateSharedMemory .

SGListBufferLength

Значение ULONG, содержащее длину (в байтах) буфера списка точечной сбора.

SGListBuffer

Указатель на структуру SCATTER_GATHER_LIST .

VPortId

Значение NDIS_NIC_SWITCH_VPORT_ID, указывающее идентификатор виртуального порта (VPort), для которого будет выделена общая память. Это значение должно быть идентификатором неdefault VPort, присоединенного к физической функции (PF) адаптера мини-порта.

Примечание Драйверы мини-портов, поддерживающие интерфейс VMQ, должны задать для этого члена нулевое значение. Драйверы мини-портов, поддерживающие интерфейс SR-IOV, не должны задавать для этого элемента значение 0 (NDIS_DEFAULT_VPORT_ID).
 

Комментарии

Структура NDIS_SHARED_MEMORY_PARAMETERS указывает параметры общей памяти для запроса на выделение общей памяти для очереди получения.

Драйверы NDIS передают эту структуру функции NdisAllocateSharedMemory , а NDIS передает эту структуру в функцию NetAllocateSharedMemory (ALLOCATE_SHARED_MEMORY_HANDLER точке входа).

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.20 и более поздних версиях.
Верхняя часть ndis.h (включая Ndis.h)

См. также раздел

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST