Partager via


NdisAllocateSharedMemory, fonction (ndis.h)

La fonction NdisAllocateSharedMemory alloue de la mémoire partagée à partir d’un fournisseur de mémoire partagée.

Syntaxe

NDIS_STATUS NdisAllocateSharedMemory(
  [in]      NDIS_HANDLE                    NdisHandle,
  [in]      PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
  [in, out] PNDIS_HANDLE                   pAllocationHandle
);

Paramètres

[in] NdisHandle

Pilote NDIS ou handle d’instance obtenu lors de l’initialisation de l’appelant. Par exemple, un pilote miniport peut utiliser le handle NDIS qu’il a obtenu à partir du NdisMRegisterMiniportDriver ou Fonction MiniportInitializeEx. D’autres pilotes NDIS peuvent utiliser les handles des fonctions suivantes :

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SharedMemoryParameters

Pointeur vers un NDIS_SHARED_MEMORY_PARAMETERS structure qui définit les attributs demandés pour la mémoire partagée.

[in, out] pAllocationHandle

Pointeur vers un emplacement pour un handle qui identifie la mémoire partagée allouée. Le handle est disponible lorsque la fonction retourne ou qu’elle est NULL en cas d’échec de la fonction. L’appelant doit utiliser ce handle pour libérer la mémoire partagée allouée correctement.

Valeur de retour

NdisAllocateSharedMemory peut retourner les valeurs d’état suivantes :

Retourner le code Description
NDIS_STATUS_SUCCESS
L’opération s’est terminée avec succès.
NDIS_STATUS_RESOURCES
L’opération a échoué, car il y avait des ressources insuffisantes pour terminer l’opération.
NDIS_STATUS_INVALID_PARAMETER
L’opération a échoué en raison d’un paramètre d’entrée non valide.
NDIS_STATUS_FAILURE
L’opération a échoué pour des raisons non spécifiées.

Remarques

Remarque Un pilote miniport doit déjà avoir appelé NdisMRegisterScatterGatherDma ou NdisMRegisterDmaChannel pour initialiser un canal DMA de nuages de points/collecter avant d’appeler NdisAllocateSharedMemory.
 
Les pilotes NDIS appellent la fonction NdisAllocateSharedMemory pour allouer un bloc de mémoire partagée à partir d’un fournisseur de mémoire partagée NDIS.

Le paramètre sharedMemoryParameters contient un pointeur vers un NDIS_SHARED_MEMORY_PARAMETERS structure qui définit les attributs demandés pour la mémoire partagée. Si l’indicateur NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS n’est pas défini dans les indicateurs de membre, la mémoire partagée peut être spécifiée dans une liste de collecte de points contenue dans la mémoire non contiguë.

NDIS appelle la fonction NetAllocateSharedMemory d’un fournisseur de mémoire partagée à partir du contexte de l’appel à NdisAllocateSharedMemory.

Le pilote doit appeler la fonction NdisFreeSharedMemory pour libérer la mémoire partagée qu’elle alloue avec NdisAllocateSharedMemory.

Exigences

Exigence Valeur
client minimum pris en charge Pris en charge dans NDIS 6.20 et versions ultérieures.
plateforme cible Universel
d’en-tête ndis.h (include Ndis.h)
bibliothèque Ndis.lib
IRQL PASSIVE_LEVEL

Voir aussi

FilterAttach

MiniportInitializeEx

NDIS_SHARED_MEMORY_PARAMETERS

NdisFRegisterFilterDriver

NdisFreeSharedMemory

NdisMRegisterDmaChannel

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetAllocateSharedMemory