Макрос NdisMoveMemory (ndis.h)
Функция NdisMoveMemory копирует указанное количество байтов из одного расположения, предоставленного вызывающим пользователем, в другое.
Синтаксис
void NdisMoveMemory(
[out] Destination,
[in] Source,
[in] Length
);
Параметры
[out] Destination
Указатель на буфер пространства системы, который является назначением перемещения. Этот буфер должен быть по крайней мере длина байтов в размере.
[in] Source
Указатель на буфер пространства системы, из которого эта функция копирует данные в целевой буфер. Этот буфер должен быть по крайней мере длина байтов в размере.
[in] Length
Количество байтов для копирования.
Возвращаемое значение
Никакой
Замечания
Оба исходного и назначения — это виртуальные адреса.
Если любой адрес попадает в диапазон памяти устройства, сопоставленной с NdisMMapIoSpace, минипорт-драйвер должен вызвать один из Ndis.. Функции mappedMemory вместо NdisMoveMemory.
Диапазон, указанный источника и длина, не может перекрывать диапазон назначения.
Вызывающие NdisMoveMemory могут выполняться в любом IRQL, если указанный источник и назначение являются резидентами. В противном случае вызывающие элементы должны работать в IRQL < DISPATCH_LEVEL, например, если любой адрес находится в стеке.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается для существующих драйверов в NDIS 6.0 и более поздних версиях, но новые драйверы должны использовать RtlCopyMemory (а не RtlMoveMemory). |
целевая платформа | Настольный |
заголовка | ndis.h (include Ndis.h) |
IRQL | См. раздел "Примечания" |