Macro NdisMoveMemory (ndis.h)
La funzione NdisMoveMemory copia un numero specificato di byte da una posizione fornita dal chiamante a un'altra.
Sintassi
void NdisMoveMemory(
[out] Destination,
[in] Source,
[in] Length
);
Parametri
[out] Destination
Puntatore a un buffer dello spazio di sistema che rappresenta la destinazione dello spostamento. Questo buffer deve essere di dimensioni pari almeno a lunghezza .
[in] Source
Puntatore a un buffer dello spazio di sistema da cui questa funzione copia i dati nel buffer di destinazione. Questo buffer deve essere di dimensioni pari almeno a lunghezza .
[in] Length
Il numero di byte da copiare.
Valore restituito
nessuno
Osservazioni
Sia l'origine che la destinazione sono indirizzi virtuali.
Se uno degli indirizzi rientra in un intervallo di memoria del dispositivo di cui è stato eseguito il mapping con NdisMMapIoSpace, un driver miniport deve chiamare uno degli oggetti Ndis. Funzioni MappedMemory anziché NdisMoveMemory.
L'intervallo specificato da Source e Length non può sovrapporsi all'intervallo di destinazione .
I chiamanti di NdisMoveMemory possono essere eseguiti in qualsiasi IRQL se l'origine e la destinazione specificati sono residenti. In caso contrario, i chiamanti devono essere in esecuzione in IRQL < DISPATCH_LEVEL, ad esempio se uno degli indirizzi si trova nello stack.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato per i driver esistenti in NDIS 6.0 e versioni successive, ma i nuovi driver devono usare invece RtlCopyMemory (non RtlMoveMemory). |
Piattaforma di destinazione | Desktop |
Intestazione | ndis.h (include Ndis.h) |
IRQL | Vedere la sezione Osservazioni |