NdisMoveMemory-Makro (ndis.h)
Die NdisMoveMemory Funktion kopiert eine angegebene Anzahl von Bytes von einem vom Aufrufer bereitgestellten Speicherort in einen anderen.
Syntax
void NdisMoveMemory(
[out] Destination,
[in] Source,
[in] Length
);
Parameter
[out] Destination
Ein Zeiger auf einen Systemraumpuffer, der das Ziel der Verschiebung ist. Dieser Puffer muss mindestens Länge Bytes groß sein.
[in] Source
Ein Zeiger auf einen Systemraumpuffer, aus dem diese Funktion die Daten in den Zielpuffer kopiert. Dieser Puffer muss mindestens Länge Bytes groß sein.
[in] Length
Die Anzahl der zu kopierenden Bytes.
Rückgabewert
Nichts
Bemerkungen
Sowohl Quell- als auch das Ziel sind virtuelle Adressen.
Wenn eine der Adressen in einen Bereich des Gerätespeichers fällt, der mit NdisMMapIoSpace-zugeordnet wurde, sollte ein Miniporttreiber einen der Ndis aufrufen. MappedMemory Funktionen anstelle von NdisMoveMemory.
Der durch Source angegebene Bereich und Length können den bereich Ziel- nicht überlappen.
Anrufer von NdisMoveMemory- können bei jedem IRQL ausgeführt werden, wenn die angegebene Source und Ziel- ansässig sind. Andernfalls müssen Aufrufer bei IRQL-< DISPATCH_LEVEL ausgeführt werden, z. B. wenn sich eine der Adressen im Stapel befindet.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte 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 |
Header- | ndis.h (include Ndis.h) |
IRQL- | Siehe Abschnitt "Hinweise" |