Compartir a través de


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 longitud bytes de 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 longitud bytes de tamaño.

[in] Length

Número de bytes que se van a copiar.

Valor devuelto

Ninguno

Observaciones

Tanto de origen como destino son direcciones virtuales.

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

El intervalo especificado por de origen y longitud no puede superponerse al intervalo de destino.

Los autores de llamadas de NdisMoveMemory pueden ejecutarse en cualquier IRQL si el de origen y de destino especificados son residentes. 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 Valor
cliente mínimo admitido 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.
de la plataforma de destino de Escritorio
encabezado de ndis.h (incluya Ndis.h)
irQL Consulte la sección Comentarios.

Consulte también

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace