estrutura NDIS_SHARED_MEMORY_PARAMETERS (ndis.h)
A estrutura NDIS_SHARED_MEMORY_PARAMETERS especifica os parâmetros de memória compartilhada para uma solicitação de alocação de memória compartilhada.
Sintaxe
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;
Membros
Header
O tipo, a revisão e o tamanho da estrutura NDIS_SHARED_MEMORY_PARAMETERS. Esse membro é formatado como uma estrutura NDIS_OBJECT_HEADER .
O driver de miniporta deve definir o membro Type de Header como NDIS_OBJECT_TYPE_DEFAULT. Para especificar a versão da estrutura NDIS_SHARED_MEMORY_PARAMETERS, o driver deve definir o membro Revision do Header como um dos seguintes valores:
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2
VPortId adicionado para NDIS 6.30.
Defina o membro Size como NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.
NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1
Versão original do NDIS 6.20.
Defina o membro Size como NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.
Flags
Um valor UCHAR que contém um OR bit a bit do seguinte valor:
NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS
A memória compartilhada está em um bloco contíguo de memória.
QueueId
Um valor NDIS_RECEIVE_QUEUE_ID que contém uma VMQ (fila de máquina virtual) ou um identificador de fila de recebimento de SR-IOV (virtualização de E/S de raiz única). Esse identificador é um inteiro entre zero e o número de filas às quais o adaptador de miniporto dá suporte. Um valor de NDIS_DEFAULT_RECEIVE_QUEUE_ID especifica a fila de recebimento padrão.
SharedMemoryHandle
Um valor NDIS_HANDLE que identifica um bloco de memória compartilhada. O NDIS fornece esse identificador antes de retornar do Função NdisAllocateSharedMemory .
PreferredNode
Um valor NODE_REQUIREMENT que indica o nó preferencial a ser usado durante a alocação de memória. Se o driver não tiver uma preferência, o valor deverá ser definido como MM_ANY_NODE_OK.
Usage
Um NDIS_SHARED_MEMORY_USAGE valor de enumeração que especifica a finalidade da memória compartilhada.
Length
Um valor ULONG que contém o comprimento, em bytes, do bloco de memória compartilhada.
VirtualAddress
Um valor PVOID que contém o endereço virtual base da memória compartilhada. O NDIS fornece esse valor antes de retornar da função NdisAllocateSharedMemory .
SGListBufferLength
Um valor ULONG que contém o comprimento, em bytes, do buffer de lista de coleta de dispersão.
SGListBuffer
Um ponteiro para uma estrutura SCATTER_GATHER_LIST .
VPortId
Um valor NDIS_NIC_SWITCH_VPORT_ID que especifica um identificador de porta virtual (VPort) no qual a memória compartilhada deve ser alocada. Esse valor deve ser o identificador de um VPort não padrão anexado à função física (PF) do adaptador de miniporta.
Comentários
A estrutura NDIS_SHARED_MEMORY_PARAMETERS especifica os parâmetros de memória compartilhada para uma solicitação de alocação de memória compartilhada para uma fila de recebimento.
Os drivers NDIS passam essa estrutura para a função NdisAllocateSharedMemory e o NDIS passa essa estrutura para a função NetAllocateSharedMemory (ALLOCATE_SHARED_MEMORY_HANDLER ponto de entrada).
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Com suporte no NDIS 6.20 e posterior. |
Cabeçalho | ndis.h (inclua Ndis.h) |