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 l’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 l’en-tête sur l’une des valeurs suivantes :

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_2

Ajout de VPortId pour NDIS 6.30.

Définissez le membre Size sur NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_2.

NDIS_SHARED_MEMORY_PARAMETERS_REVISION_1

Version d’origine pour NDIS 6.20.

Définissez le membre Size sur NDIS_SIZEOF_SHARED_MEMORY_PARAMETERS_REVISION_1.

Flags

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

NDIS_SHARED_MEM_PARAMETERS_CONTIGOUS

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

QueueId

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

Note À compter 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 (VPorts) par défaut et non par défaut. Les pilotes miniports qui prennent en charge l’interface 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 qu’il ne retourne à partir du 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

Une 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 qu’elle ne retourne à partir de la fonction NdisAllocateSharedMemory .

SGListBufferLength

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

SGListBuffer

Pointeur vers une structure SCATTER_GATHER_LIST .

VPortId

Une 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 par défaut attaché à la fonction physique (PF) de l’adaptateur miniport.

Note Les 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 transmettent cette structure à la fonction NdisAllocateSharedMemory et NDIS transmet cette structure à la fonction NetAllocateSharedMemory (ALLOCATE_SHARED_MEMORY_HANDLER point d’entrée).

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
En-tête ndis.h (inclure Ndis.h)

Voir aussi

NDIS_OBJECT_HEADER

NDIS_SHARED_MEMORY_USAGE

NdisAllocateSharedMemory

NetAllocateSharedMemory

SCATTER_GATHER_LIST