Partager via


Macro NdisMoveMemory (ndis.h)

La fonction NdisMoveMemory copie un nombre spécifié d’octets d’un emplacement fourni par l’appelant vers un autre.

Syntaxe

void NdisMoveMemory(
  [out]  Destination,
  [in]   Source,
  [in]   Length
);

Paramètres

[out] Destination

Pointeur vers une mémoire tampon d’espace système qui est la destination du déplacement. Cette mémoire tampon doit avoir au moins une taille d’octets de longueur .

[in] Source

Pointeur vers une mémoire tampon d’espace système à partir de laquelle cette fonction copie les données dans la mémoire tampon de destination. Cette mémoire tampon doit avoir au moins une taille d’octets de longueur .

[in] Length

Nombre d'octets à copier.

Valeur de retour

None

Remarques

Source et Destination sont des adresses virtuelles.

Si l’une ou l’autre adresse se trouve dans une plage de mémoire de périphérique qui a été mappée avec NdisMMapIoSpace, un pilote miniport doit appeler l’un des Ndis.. Fonctions MapMemory au lieu de NdisMoveMemory.

La plage spécifiée par Source et Length ne peut pas chevaucher la plage de destination .

Les appelants de NdisMoveMemory peuvent s’exécuter sur n’importe quel IRQL si la source et la destination spécifiées sont résidentes. Sinon, les appelants doivent être en cours d’exécution dans irQL < DISPATCH_LEVEL, par exemple si l’une ou l’autre adresse se trouve sur la pile.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Pris en charge pour les pilotes existants dans NDIS 6.0 et versions ultérieures, mais les nouveaux pilotes doivent utiliser RtlCopyMemory (et non RtlMoveMemory) à la place.
Plateforme cible Desktop (Expérience utilisateur)
En-tête ndis.h (inclure Ndis.h)
IRQL Voir la section Notes

Voir aussi

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace