Макрос NdisMoveMemory (ndis.h)

Функция NdisMoveMemory копирует указанное количество байтов из одного расположения, предоставленного вызывающим объектом, в другое.

Синтаксис

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

Параметры

[out] Destination

Указатель на буфер системного пространства, который является назначением перемещения. Размер этого буфера должен быть не менее байтов длины .

[in] Source

Указатель на буфер системного пространства, из которого эта функция копирует данные в буфер назначения. Размер этого буфера должен быть не менее байтов длины .

[in] Length

Число байт для копирования.

Возвращаемое значение

None

Remarks

Источник и назначение являются виртуальными адресами.

Если любой адрес попадает в диапазон памяти устройства, сопоставленный с NdisMMapIoSpace, драйвер мини-порта должен вызвать один из Ndis.. Функции MappedMemory вместо NdisMoveMemory.

Диапазон, заданный значениями Source и Length, не может перекрывать диапазон назначения .

Вызывающие NdisMoveMemory могут выполняться в любом irQL, если указанные источник и назначение являются резидентными. В противном случае вызывающие элементы должны выполняться в DISPATCH_LEVEL IRQL < , например, если любой из адресов находится в стеке.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для существующих драйверов в NDIS 6.0 и более поздних версиях, но новые драйверы должны использовать RtlCopyMemory (не RtlMoveMemory).
Целевая платформа Персональный компьютер
Верхняя часть ndis.h (включая Ndis.h)
IRQL См. раздел "Примечания"

См. также раздел

NdisAllocateMemoryWithTagPriority

NdisMMapIoSpace