NdisAllocateBuffer, fonction (ndis.h)
Remarque NDIS 5. x a été déconseillé et est remplacé par NDIS 6. x. Pour le développement de nouveaux pilotes NDIS, consultez Pilotes réseau à partir de Windows Vista. Pour plus d’informations sur le portage de NDIS 5. pilotes x vers NDIS 6. x, consultez Portage des pilotes NDIS 5.x vers NDIS 6.0.
NdisAllocateBuffer crée un descripteur de mémoire tampon mappant une plage virtuelle (sous)spécifiée dans un bloc de mémoire non paginé déjà alloué.
Syntaxe
void NdisAllocateBuffer(
[out] PNDIS_STATUS Status,
[out] PNDIS_BUFFER *Buffer,
[in, optional] NDIS_HANDLE PoolHandle,
[in] PVOID VirtualAddress,
[in] UINT Length
);
Paramètres
[out] Status
Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne l’état final de l’allocation de mémoire tampon, qui est NDIS_STATUS_SUCCESS s’il a retourné un pointeur de descripteur de mémoire tampon valide à tampon et sinon NDIS_STATUS_FAILURE.
[out] Buffer
Pointeur vers une variable fournie par l’appelant dans laquelle cette fonction retourne un pointeur vers le descripteur de mémoire tampon alloué.
[in, optional] PoolHandle
Spécifie le handle retourné par un appel précédent à NdisAllocateBufferPool.
[in] VirtualAddress
Pointeur vers l’adresse virtuelle de base de la mémoire d’espace système précédemment allouée à mapper dans le descripteur de mémoire tampon retourné.
[in] Length
Spécifie le nombre d’octets à mapper.
Valeur de retour
Aucun
Remarques
Valeur de retour : None
NdisAllocateBuffer alloue du stockage pour et initialise un descripteur de mémoire tampon pour mapper une plage spécifiée de mémoire allouée précédemment, telle que la mémoire utilisée pour un en-tête de paquet ou une mémoire tampon de réception de carte réseau.
L’allocation du descripteur de mémoire tampon s’appuie sur le pool de mémoires tampons qui NdisAllocateBufferPool crée. Un pilote peut appeler NdisAllocateBuffer autant de fois que nécessaire pour allouer les descripteurs de mémoire tampon qu’il nécessite s’il a appelé NdisAllocateBufferPool lors de l’initialisation.
Tous les pilotes NDIS de niveau inférieur doivent allouer tous les descripteurs de mémoire tampon qu’ils chaînent aux paquets du pool de mémoires tampons. Seuls les pilotes de protocole de niveau supérieur peuvent recevoir des descripteurs dépendant du système d’exploitation qui mappent des plages de mémoire virtuelle et, si ces descripteurs de mémoire sont équivalents aux descripteurs de mémoire tampon NDIS, un protocole de niveau supérieur peut passer de tels descripteurs en tant que paramètres à fonctions ndisXxx.
Exigences
Exigence | Valeur |
---|---|
d’en-tête | ndis.h (include Ndis.h) |
bibliothèque | Ndis.lib |
IRQL | IRQL <= DISPATCH_LEVEL |