Share via


VirtualUnlock 函式 (memoryapi.h)

在進程的虛擬位址空間中解除鎖定指定的頁面範圍,讓系統視需要將頁面交換至分頁檔案。

語法

BOOL VirtualUnlock(
  [in] LPVOID lpAddress,
  [in] SIZE_T dwSize
);

參數

[in] lpAddress

要解除鎖定之頁面區域的基底位址指標。

[in] dwSize

要解除鎖定的區域大小,以位元組為單位。 受影響的頁面區域包含範圍中包含一或多個位元組的所有頁面,從 lpAddress 參數到 (lpAddress+dwSize) 。 這表示 2 位元組範圍跨越頁面界限會導致這兩個頁面解除鎖定。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

若要讓函式成功,指定的範圍與傳遞至 VirtualLock 函式先前呼叫的範圍不相符,但範圍中的所有頁面都必須鎖定。 如果指定範圍中的任何頁面未鎖定, VirtualUnlock 會從工作集中移除這類頁面、將最後一個錯誤設定為 ERROR_NOT_LOCKED,並傳回 FALSE

在未鎖定的記憶體範圍上呼叫 VirtualUnlock ,會從進程的工作集釋放頁面。

需求

   
最低支援的用戶端 Windows XP [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2003 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 memoryapi.h (包括 Windows.h、Memoryapi.h)
程式庫 onecore.lib
DLL Kernel32.dll

另請參閱

記憶體管理功能

虛擬記憶體函式

VirtualLock