Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
The RtlEqualDeviceMemory routine compares two blocks of device memory to determine whether the specified number of bytes are identical. Questa funzione è sicura per l'uso nella memoria del dispositivo perché usa requisiti di allineamento rigorosi.
Syntax
BOOL RtlEqualDeviceMemory(
[in] const void* Source1,
[in] const void* Source2,
[in] size_t Length
);
Parameters
[in] Source1
Puntatore a un blocco allocato dal chiamante della memoria del dispositivo da confrontare.
[in] Source2
A pointer to a caller-allocated block of device memory that is compared to the block of memory to which Source1 points.
[in] Length
Specifica il numero di byte da confrontare.
Return value
RtlEqualDeviceMemory returns TRUE if Source1 and Source2 are equivalent; otherwise, it returns FALSE.
Remarks
RtlEqualDeviceMemory begins the comparison with byte zero of each block.
The RtlEqualDeviceMemory routine is designed for safe comparison of device memory regions where standard memory comparison functions might not be appropriate due to the special characteristics of device memory.
- La funzione usa requisiti di allineamento rigorosi per garantire una corretta gestione della memoria del dispositivo che può avere effetti collaterali o requisiti di accesso speciali.
Callers of RtlEqualDeviceMemory can be running at any IRQL if both blocks of memory are resident.
Questa funzione funziona su tutte le versioni di Windows, non solo sulla versione più recente. Per ottenere la dichiarazione di funzione dall'intestazione wdm.h, è necessario utilizzare la versione più recente di WDK. È necessaria anche la libreria (volatileaccessk.lib) dalla versione più recente di WDK. Tuttavia, il driver risultante verrà eseguito correttamente nelle versioni precedenti di Windows.
Example
UCHAR DeviceBuffer1[256];
UCHAR DeviceBuffer2[256];
// Read data from device memory into buffers
ReadFromDevice(DeviceBuffer1, sizeof(DeviceBuffer1));
ReadFromDevice(DeviceBuffer2, sizeof(DeviceBuffer2));
// Compare the device memory buffers
if (RtlEqualDeviceMemory(DeviceBuffer1, DeviceBuffer2, sizeof(DeviceBuffer1))) {
DbgPrint("Device buffers are identical\n");
} else {
DbgPrint("Device buffers are different\n");
}
Requirements
| Requirement | Value |
|---|---|
| Target Platform | Desktop |
| Header | wdm.h (include Wdm.h) |
| Library | volatileaccessk.lib (modalità kernel), volatileaccessu.lib (modalità utente) |
| IRQL | Qualsiasi livello (vedere la sezione Osservazioni) |