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


структура 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.

Драйвер минипорта должен задать для элемента типазаголовка значение 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). Драйверы минипорта, поддерживающие интерфейс SR-IOV, должны задать для NDIS_DEFAULT_RECEIVE_QUEUE_ID член QueueId.
 

SharedMemoryHandle

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

PreferredNode

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

Usage

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

Length

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

VirtualAddress

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

SGListBufferLength

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

SGListBuffer

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

VPortId

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

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

Замечания

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.20 и более поздних версиях.
заголовка ndis.h (include Ndis.h)

См. также

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST