Поделиться через


Функция RtlCompareMemory (wdm.h)

Подпрограмма RtlCompareMemory сравнивает два блока памяти и возвращает количество байтов, соответствующих до первой разницы.

Синтаксис

NTSYSAPI SIZE_T RtlCompareMemory(
  [in] const VOID *Source1,
  [in] const VOID *Source2,
  [in] SIZE_T     Length
);

Параметры

[in] Source1

Указатель на первый блок памяти.

[in] Source2

Указатель на второй блок памяти.

[in] Length

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

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

RtlCompareMemory возвращает количество байтов в двух блоках, которые соответствуют. Если все байты совпадают с указанным значением Length , возвращается значение Length .

Комментарии

Подпрограмма начинается с сравнения первого байта в первом блоке с первым байтом во втором блоке и продолжает сравнивать последовательные байты в двух блоках, пока байты совпадают. Подпрограмма прекращает сравнение байтов, когда обнаруживает первую пару байтов, которые не равны, или когда число соответствующих байтов равно значению параметра Length в зависимости от того, что произойдет раньше.

Вызывающие элементы RtlCompareMemory могут выполняться в любом irQL, если оба блока памяти являются резидентными.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib; OneCoreUAP.lib в Windows 10
DLL NtDll.dll (пользовательский режим); Kernel32.dll (пользовательский режим); NtosKrnl.exe (режим ядра)
IRQL Любой уровень (см. раздел "Примечания")
Правила соответствия DDI BufAfterReqCompletedIntIoctlA(kmdf), BufAfterReqCompletedIoctlA(kmdf), BufAfterReqCompletedReadA(kmdf), BufAfterReqCompletedWriteA(kmdf)