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 avere dimensioni di almeno lunghezza byte.
[in] Source
Puntatore a un buffer dello spazio di sistema da cui questa funzione copia i dati nel buffer di destinazione. Questo buffer deve avere dimensioni di almeno lunghezza byte.
[in] Length
Numero di byte da copiare.
Valore restituito
Nessuno
Osservazioni
Sia il di origine che la destinazione sono indirizzi virtuali.
Se uno degli indirizzi rientra in un intervallo di memoria del dispositivo mappato a NdisMMapIoSpace, un driver miniport deve chiamare uno dei Ndis.. Funzioni di MappedMemory anziché NdisMoveMemory.
L'intervallo specificato da origine e lunghezza non può sovrapporsi all'intervallo destinazione.
I chiamanti di NdisMoveMemory possono essere eseguiti in qualsiasi IRQL se l' di origine e destinazione specificato è residente. In caso contrario, i chiamanti devono essere in esecuzione in IRQL < DISPATCH_LEVEL, ad esempio se uno degli indirizzi si trova nello stack.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato per i driver esistenti in NDIS 6.0 e versioni successive, ma i nuovi driver devono usare RtlCopyMemory (non RtlMoveMemory). |
piattaforma di destinazione | Desktop |
intestazione | ndis.h (include Ndis.h) |
IRQL | Vedere la sezione Osservazioni |