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.
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.
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) |