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