Compartilhar via


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.

Nota Começando com Windows Server 2012, a interface SR-IOV dá suporte apenas à fila de recebimento padrão em VPorts (portas virtuais padrão e não padrão). Os drivers de miniport que dão suporte à interface SR-IOV devem definir o membro QueueId como NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

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.

Nota Os drivers de miniport que dão suporte à interface VMQ devem definir esse membro como zero. Drivers de miniporta que dão suporte à interface SR-IOV não devem definir esse membro como zero (NDIS_DEFAULT_VPORT_ID).
 

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)

Confira também

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST