Funzione RtlFillNonVolatileMemory (ntddk.h)
La routine RtlFillNonVolatileMemory riempie il buffer di destinazione non volatile con il valore specificato.
Sintassi
NTSYSAPI NTSTATUS RtlFillNonVolatileMemory(
PVOID NvToken,
VOID *NvDestination,
SIZE_T Size,
const UCHAR Value,
ULONG Flags
);
Parametri
NvToken
Puntatore a una struttura opaca con altre informazioni sull'area di memoria non volatile che RtlGetNonVolatileToken restituito.
NvDestination
Puntatore al buffer di destinazione non volatile.
Size
Specifica la lunghezza, espressa in byte, dell'operazione di riempimento.
Value
UCHAR contenente il valore con cui riempire il buffer di destinazione.
Flags
Valore di tipo ULONG contenente uno o più flag seguenti:
Bandiere | Significato |
---|---|
FILL_NV_MEMORY_FLAG_FLUSH | Impostare il valore specificato, quindi scaricare l'intervallo di destinazione. A meno che non venga specificato FILL_NV_MEMORY_FLAG_NO_DRAIN, lo scaricamento è seguito da uno scarico. Questo flag garantisce che i dati siano durevoli anche in caso di perdita di alimentazione del sistema. |
FILL_NV_MEMORY_FLAG_NON_TEMPORAL | Eseguire un memset non temporale, se disponibile. Non temporale significa che la memorizzazione nella cache dei dati non è necessaria. Se il processore non supporta operazioni non temporali per intervalli inferiori alle dimensioni del bus di indirizzi, eseguire un memset regolare seguito da scaricamento e svuotamento. Se il processore ignora completamente gli spostamenti non temporali, RtlSetNonVolatileMemory non lo sostituisce con scaricamento e svuotamento. Tuttavia, se Windows non ha un'implementazione per una determinata architettura (ad esempio ARM64), sostituirla con scaricamento e svuotamento. |
FILL_NV_MEMORY_FLAG_PERSIST | Verifica che il memset sia persistente scaricando o utilizzando spostamenti non temporali. In genere, il sistema usa l'approccio meno costoso per rendere persistenti i dati. Questo flag garantisce che i dati siano durevoli anche in caso di perdita di alimentazione del sistema. Ignorato quando si specifica FILL_NV_MEMORY_FLAG_PERSIST. |
FILL_NV_MEMORY_FLAG_NO_DRAIN | Indica alla routine di non attendere il completamento dello scaricamento. Deve essere specificato in combinazione con FILL_NV_MEMORY_FLAG_FLUSH e senza FILL_NV_MEMORY_FLAG_PERSIST o FILL_NV_MEMORY_FLAG_NON_TEMPORAL. |
Valore restituito
La routine restituisce uno dei codici di stato:
Codice restituito | Descrizione |
---|---|
|
NvToken è un puntatore o un token non valido. |
|
La richiesta ha avuto esito positivo. |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 1903 |
intestazione | ntddk.h |
IRQL | DPC_LEVEL |