Macro NdisMoveMemory (ndis.h)

La función NdisMoveMemory copia un número especificado de bytes de una ubicación proporcionada por el autor de la llamada a otra.

Sintaxis

void NdisMoveMemory(
  [out]  Destination,
  [in]   Source,
  [in]   Length
);

Parámetros

[out] Destination

Puntero a un búfer de espacio del sistema que es el destino del movimiento. Este búfer debe tener al menos bytes de longitud en tamaño.

[in] Source

Puntero a un búfer de espacio del sistema desde el que esta función copia los datos en el búfer de destino. Este búfer debe tener al menos bytes de longitud en tamaño.

[in] Length

Número de bytes que se van a copiar.

Valor devuelto

None

Observaciones

Tanto el origen como el destino son direcciones virtuales.

Si alguna dirección se encuentra dentro de un intervalo de memoria del dispositivo que se asignó con NdisMMapIoSpace, un controlador de minipuerto debe llamar a uno de los Ndis. Funciones MappedMemory en lugar de NdisMoveMemory.

El intervalo especificado por Source y Length no se puede superponer al intervalo de destino .

Los autores de llamadas de NdisMoveMemory se pueden ejecutar en cualquier IRQL si el origen y eldestino especificados residen. De lo contrario, los autores de llamadas deben ejecutarse en irQL < DISPATCH_LEVEL, como, por ejemplo, si alguna dirección está en la pila.

Requisitos

Requisito Value
Cliente mínimo compatible Se admite para los controladores existentes en NDIS 6.0 y versiones posteriores, pero los nuevos controladores deben usar RtlCopyMemory (no RtlMoveMemory) en su lugar.
Plataforma de destino Escritorio
Encabezado ndis.h (incluya Ndis.h)
IRQL Consulte la sección Comentarios.

Consulte también

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace