Funzione VirtualUnlock (memoryapi.h)
Sblocca un intervallo specificato di pagine nello spazio indirizzi virtuale di un processo, consentendo al sistema di scambiare le pagine nel file di paging, se necessario.
Sintassi
BOOL VirtualUnlock(
[in] LPVOID lpAddress,
[in] SIZE_T dwSize
);
Parametri
[in] lpAddress
Puntatore all'indirizzo di base dell'area delle pagine da sbloccare.
[in] dwSize
Dimensioni dell'area sbloccata, in byte. L'area delle pagine interessate include tutte le pagine contenenti uno o più byte nell'intervallo compreso tra il parametro lpAddress e (lpAddress+dwSize)
. Ciò significa che un intervallo di 2 byte che si allontana da un limite di pagina fa sì che entrambe le pagine vengano sbloccate.
Valore restituito
Se la funzione ha esito positivo, il valore restituito è diverso da zero.
Se la funzione ha esito negativo, il valore restituito è zero. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
Affinché la funzione abbia esito positivo, l'intervallo specificato non deve corrispondere a un intervallo passato a una chiamata precedente alla funzione VirtualLock , ma tutte le pagine dell'intervallo devono essere bloccate. Se una delle pagine nell'intervallo specificato non è bloccata, VirtualUnlock rimuove tali pagine dal working set, imposta l'ultimo errore su ERROR_NOT_LOCKED e restituisce FALSE.
La chiamata a VirtualUnlock su un intervallo di memoria non bloccato rilascia le pagine dal working set del processo.
Requisiti
Client minimo supportato | Windows XP [app desktop | App UWP] |
Server minimo supportato | Windows Server 2003 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | memoryapi.h (include Windows.h, Memoryapi.h) |
Libreria | onecore.lib |
DLL | Kernel32.dll |