Freigeben über


RtlCompareMemory-Funktion (wdm.h)

Die RtlCompareMemory-Routine vergleicht zwei Speicherblöcke und gibt die Anzahl der Bytes zurück, die bis zum ersten Unterschied übereinstimmen.

Syntax

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

Parameter

[in] Source1

Ein Zeiger auf den ersten Speicherblock.

[in] Source2

Ein Zeiger auf den zweiten Speicherblock.

[in] Length

Die Anzahl der zu kopierenden Bytes.

Rückgabewert

RtlCompareMemory gibt die Anzahl der Bytes in den beiden Blöcken zurück, die übereinstimmen. Wenn alle Bytes mit dem angegebenen Length-Wert übereinstimmen, wird der Length-Wert zurückgegeben.

Hinweise

Die Routine beginnt mit dem Vergleich des ersten Byte im ersten Block mit dem ersten Byte im zweiten Block und vergleicht weiterhin die aufeinander folgenden Bytes in den beiden Blöcken, während die Bytes übereinstimmen. Die Routine beendet den Vergleich von Bytes, wenn sie auf das erste Bytepaar trifft, das nicht gleich ist, oder wenn die Anzahl der übereinstimmenden Bytes dem Length-Parameterwert entspricht, je nachdem, welcher Wert zuerst auftritt.

Aufrufer von RtlCompareMemory können in jedem IRQL ausgeführt werden, wenn beide Speicherblöcke resident sind.

Anforderungen

Anforderung Wert
Zielplattform Universell
Header wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h)
Bibliothek NtosKrnl.lib; OneCoreUAP.lib auf Windows 10
DLL NtDll.dll (Benutzermodus); Kernel32.dll (Benutzermodus); NtosKrnl.exe (Kernelmodus)
IRQL Beliebige Ebene (siehe Abschnitt Hinweise)
DDI-Complianceregeln BufAfterReqCompletedIntIoctlA(kmdf), BufAfterReqCompletedIoctlA(kmdf), BufAfterReqCompletedReadA(kmdf), BufAfterReqCompletedWriteA(kmdf)