NdisMoveMemory-Makro (ndis.h)
Die NdisMoveMemory-Funktion kopiert eine angegebene Anzahl von Bytes von einem vom Aufrufer bereitgestellten Speicherort an einen anderen.
Syntax
void NdisMoveMemory(
[out] Destination,
[in] Source,
[in] Length
);
Parameter
[out] Destination
Ein Zeiger auf einen Systemspeicherpuffer, der das Ziel der Verschiebung ist. Dieser Puffer muss mindestens längenbytes groß sein.
[in] Source
Ein Zeiger auf einen Systemspeicherpuffer, aus dem diese Funktion die Daten in den Zielpuffer kopiert. Dieser Puffer muss mindestens längenbytes groß sein.
[in] Length
Die Anzahl der zu kopierenden Bytes.
Rückgabewert
Keine
Bemerkungen
Quelle und Ziel sind virtuelle Adressen.
Wenn eine Adresse innerhalb eines Gerätespeicherbereichs liegt, der mit NdisMMapIoSpace zugeordnet wurde, sollte ein Miniporttreiber eine der Ndis. aufrufen. MappedMemory-Funktionen anstelle von NdisMoveMemory.
Der durch Quelle und Länge angegebene Bereich kann den Zielbereich nicht überlappen.
Aufrufer von NdisMoveMemory können bei jedem IRQL ausgeführt werden, wenn die angegebene Quelle und das angegebene Ziel resident sind. Andernfalls müssen Aufrufer im IRQL-DISPATCH_LEVEL < ausgeführt werden, z. B. wenn sich eine Adresse im Stapel befindet.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Unterstützt für vorhandene Treiber in NDIS 6.0 und höher, aber neue Treiber sollten stattdessen RtlCopyMemory (nicht RtlMoveMemory) verwenden. |
Zielplattform | Desktop |
Kopfzeile | ndis.h (include Ndis.h) |
IRQL | Siehe Abschnitt "Hinweise" |