Partager via


structure NDIS_SHARED_MEMORY_PARAMETERS (ndis.h)

La structure NDIS_SHARED_MEMORY_PARAMETERS spécifie les paramètres de mémoire partagée pour une demande d’allocation de mémoire partagée.

Syntaxe

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;

Membres

Header

Type, révision et taille de la structure NDIS_SHARED_MEMORY_PARAMETERS. Ce membre est mis en forme en tant que structure NDIS_OBJECT_HEADER.

Le pilote miniport doit définir le membre type de de l'd’en-tête sur NDIS_OBJECT_TYPE_DEFAULT. Pour spécifier la version de la structure NDIS_SHARED_MEMORY_PARAMETERS, le pilote doit définir le membre révision de Header sur l’une des valeurs suivantes :

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

Ajout VPortId pour NDIS 6.30.

Définissez le membre taille sur NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

Version d’origine de NDIS 6.20.

Définissez le membre taille sur NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.

Flags

Valeur UCHAR qui contient une OR au niveau du bit de la valeur suivante :

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

La mémoire partagée se trouve dans un bloc contigu de mémoire.

QueueId

Valeur NDIS_RECEIVE_QUEUE_ID qui contient une file d’attente de machines virtuelles (VMQ) ou une virtualisation d’E/S racine unique (SR-IOV) recevoir l’identificateur de file d’attente. Cet identificateur est un entier compris entre zéro et le nombre de files d’attente pris en charge par l’adaptateur miniport. Une valeur de NDIS_DEFAULT_RECEIVE_QUEUE_ID spécifie la file d’attente de réception par défaut.

Remarque à partir de Windows Server 2012, l’interface SR-IOV prend uniquement en charge la file d’attente de réception par défaut sur les ports virtuels par défaut et non définis (VPorts). Les pilotes miniports qui prennent en charge l’interface de SR-IOV doivent définir le membre QueueId sur NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

SharedMemoryHandle

Valeur NDIS_HANDLE qui identifie un bloc de mémoire partagée. NDIS fournit ce handle avant son retour à partir de la fonction NdisAllocateSharedMemory.

PreferredNode

Valeur NODE_REQUIREMENT qui indique le nœud préféré à utiliser lors de l’allocation de mémoire. Si le pilote n’a pas de préférence, la valeur doit être définie sur MM_ANY_NODE_OK.

Usage

Valeur d’énumération NDIS_SHARED_MEMORY_USAGE qui spécifie l’objectif de la mémoire partagée.

Length

Valeur ULONG qui contient la longueur, en octets, du bloc de mémoire partagée.

VirtualAddress

Valeur PVOID qui contient l’adresse virtuelle de base de la mémoire partagée. NDIS fournit cette valeur avant de retourner à partir de la fonction NdisAllocateSharedMemory.

SGListBufferLength

Valeur ULONG qui contient la longueur, en octets, de la mémoire tampon de liste de collecte de points.

SGListBuffer

Pointeur vers une structure SCATTER_GATHER_LIST.

VPortId

Valeur NDIS_NIC_SWITCH_VPORT_ID qui spécifie un identificateur de port virtuel (VPort) sur lequel la mémoire partagée doit être allouée. Cette valeur doit être l’identificateur d’un VPort non défini qui est attaché à la fonction physique (PF) de l’adaptateur miniport.

Remarque pilotes Miniport qui prennent en charge l’interface VMQ doivent définir ce membre sur zéro. Les pilotes miniport qui prennent en charge l’interface SR-IOV ne doivent pas définir ce membre sur zéro (NDIS_DEFAULT_VPORT_ID).
 

Remarques

La structure NDIS_SHARED_MEMORY_PARAMETERS spécifie les paramètres de mémoire partagée pour une demande d’allocation de mémoire partagée pour une file d’attente de réception.

Les pilotes NDIS passent cette structure à la fonction NdisAllocateSharedMemory et NDIS passe cette structure à la fonction NetAllocateSharedMemory (point d’entrée ALLOCATE_SHARED_MEMORY_HANDLER).

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
d’en-tête ndis.h (include Ndis.h)

Voir aussi

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST