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 être au moins longueur octets de taille.

[in] Source

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

[in] Length

Nombre d’octets à copier.

Valeur de retour

Aucun

Remarques

Les adresses virtuelles source et Destination sont toutes deux des adresses virtuelles.

Si l’une ou l’autre adresse se trouve dans une plage de mémoire d’appareil mappée avec NdisMMapIoSpace, un pilote miniport doit appeler l’un des Ndis.. MapPémory fonctions au lieu de NdisMoveMemory.

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

Les appelants de NdisMoveMemory peuvent s’exécuter à n’importe quel runtime IRQL si le source donné et destination résident. Dans le cas contraire, les appelants doivent s’exécuter à l'< DISPATCH_LEVEL IRQL, comme, par exemple, si l’une ou l’autre adresse se trouve sur la pile.

Exigences

Exigence Valeur
client minimum 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 Bureau
d’en-tête ndis.h (include Ndis.h)
IRQL Voir la section Remarques

Voir aussi

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace