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 |