Unlocks a specified range of pages in the virtual address space of a process, enabling the system to swap the pages out to the paging file if necessary.
BOOL VirtualUnlock( LPVOID lpAddress, SIZE_T dwSize );
A pointer to the base address of the region of pages to be unlocked.
The size of the region being unlocked, in bytes. The region of affected pages includes all pages containing one or more bytes in the range from the lpAddress parameter to
(lpAddress+dwSize). This means that a 2-byte range straddling a page boundary causes both pages to be unlocked.
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
For the function to succeed, the range specified need not match a range passed to a previous call to the VirtualLock function, but all pages in the range must be locked. If any of the pages in the specified range are not locked, VirtualUnlock removes such pages from the working set, sets last error to ERROR_NOT_LOCKED, and returns FALSE.
Calling VirtualUnlock on a range of memory that is not locked releases the pages from the process's working set.
|Minimum supported client||Windows XP [desktop apps only]|
|Minimum supported server||Windows Server 2003 [desktop apps only]|
|Header||memoryapi.h (include Windows.h, Memoryapi.h)|