структура 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 указывает очередь получения по умолчанию.
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) мини-адаптера.
Замечания
Структура NDIS_SHARED_MEMORY_PARAMETERS задает параметры общей памяти для запроса на выделение общей памяти для очереди получения.
Драйверы NDIS передают эту структуру функции NdisAllocateSharedMemory и NDIS передают эту структуру в функцию NetAllocateSharedMemory (точка входа ALLOCATE_SHARED_MEMORY_HANDLER).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.20 и более поздних версиях. |
заголовка | ndis.h (include Ndis.h) |