NdisAllocateSharedMemory, fonction (ndis.h)
La fonction NdisAllocateSharedMemory alloue 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
Un pilote NDIS ou un instance handle obtenu lors de l’initialisation de l’appelant. Par exemple, un pilote miniport peut utiliser le handle NDIS qu’il a obtenu à partir du Fonction NdisMRegisterMiniportDriver ou MiniportInitializeEx . D’autres pilotes NDIS peuvent utiliser les handles des fonctions suivantes :
[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 est NULL si la fonction échoue. L’appelant doit utiliser ce handle pour libérer la mémoire partagée qui a été allouée avec succès.
Valeur retournée
NdisAllocateSharedMemory peut retourner les valeurs status suivantes :
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
L’opération a échoué, car il n’y avait pas de ressources suffisantes pour terminer l’opération. |
|
L’opération a échoué en raison d’un paramètre d’entrée non valide. |
|
L’opération a échoué pour des raisons non spécifiées. |
Remarques
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 le membre Indicateurs , la mémoire partagée peut être spécifiée dans une liste de regroupement 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’il alloue avec NdisAllocateSharedMemory.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.20 et versions ultérieures. |
Plateforme cible | Universal |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | PASSIVE_LEVEL |