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