PSECURE_MEMORY_CACHE_CALLBACK funzione di callback (winnt.h)
Funzione definita dall'applicazione registrata in precedenza con la funzione AddSecureMemoryCacheCallback chiamata quando viene liberato un intervallo di memoria protetta o vengono modificate le relative protezioni.
Il tipo PSECURE_MEMORY_CACHE_CALLBACK definisce un puntatore a questa funzione di callback. SecureMemoryCacheCallback è un segnaposto per il nome della funzione definita dall'applicazione.
Sintassi
PSECURE_MEMORY_CACHE_CALLBACK PsecureMemoryCacheCallback;
BOOLEAN PsecureMemoryCacheCallback(
[in] PVOID Addr,
[in] SIZE_T Range
)
{...}
Parametri
[in] Addr
Indirizzo iniziale dell'intervallo di memoria.
[in] Range
Dimensioni dell'intervallo di memoria, in byte.
Valore restituito
Il valore restituito indica l'esito positivo o negativo di questa funzione.
Se il chiamante ha protetto l'intervallo di memoria specificato, questa funzione deve non proteggere la memoria e restituire TRUE.
Se il chiamante non ha protetto l'intervallo di memoria specificato, questa funzione deve restituire FALSE.
Commenti
Dopo la registrazione della funzione di callback, viene chiamato dopo qualsiasi tentativo di liberare l'intervallo di memoria specificato o di modificarne le protezioni. Se l'applicazione ha protetto una parte dell'intervallo di memoria specificato, la funzione di callback deve invalidare tutti i mapping di memoria memorizzati nella cache dell'applicazione per l'intervallo di memoria protetta, non proteggere le parti protette dell'intervallo di memoria e restituire TRUE. In caso contrario, deve restituire FALSE.
L'applicazione protegge e non protegge un intervallo di memoria inviando richieste a un driver di dispositivo, che usa le funzioni MmSecureVirtualMemory e MmUnsecureVirtualMemory per proteggere e non proteggere l'intervallo. Le operazioni su altri tipi di memoria protetta o bloccata non attivano questo callback.
Esempi di chiamate di funzione che attivano la funzione di callback includono chiamate alle funzioni VirtualFree, VirtualFreeEx, VirtualProtect, VirtualProtectEx e UnmapViewOfFile.
La funzione di callback può essere attivata anche da un'operazione heap. In questo caso, la funzione non deve eseguire altre operazioni sull'heap che ha attivato il callback. Ciò include la chiamata di funzioni heap su un heap privato o sull'heap predefinito del processo o la chiamata di funzioni della libreria standard, ad esempio malloc e free, che usano implicitamente l'heap predefinito del processo.
Per annullare la registrazione della funzione di callback, usare la funzione RemoveSecureMemoryCacheCallback .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista con SP1 [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winnt.h (include Windows.h) |