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 che contiene altre informazioni sull'area di memoria non volatile restituita da RtlGetNonVolatileToken .
NvDestination
Puntatore al buffer di destinazione non volatile.
Size
Specifica la lunghezza, 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:
Flags | Significato |
---|---|
FILL_NV_MEMORY_FLAG_FLUSH | Impostare il valore specificato, quindi scaricare l'intervallo di destinazione. A meno che non sia specificato FILL_NV_MEMORY_FLAG_NO_DRAIN, lo scarico viene seguito da uno scarico. Questo flag garantisce che i dati siano durevoli anche in caso di perdita di energia del sistema. |
FILL_NV_MEMORY_FLAG_NON_TEMPORAL | Eseguire un memset non temporale quando 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 lo scarico e lo 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 | Assicurarsi che il memset sia persistente scaricando o usando spostamenti non temporali. In genere, il sistema usa l'approccio meno costoso per rendere persistenti i dati. Questo flag assicura che i dati siano durevoli anche in caso di perdita di energia del sistema. Ignorato quando viene specificato FILL_NV_MEMORY_FLAG_PERSIST. |
FILL_NV_MEMORY_FLAG_NO_DRAIN | Indica alla routine di non attendere il completamento dello scarico. 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 validi. |
|
La richiesta è stata completata. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10, versione 1903 |
Intestazione | ntddk.h |
IRQL | DPC_LEVEL |