共用方式為


GetProcessDEPPolicy 函式 (winbase.h)

取得指定 32 位進程的資料執行防護 (DEP) 和 DEP-ATL Thunk 模擬設定。Windows XP 與 SP3: 取得目前進程的 DEP 和 DEP-ATL Thunk 模擬設定。

語法

BOOL GetProcessDEPPolicy(
  [in]  HANDLE  hProcess,
  [out] LPDWORD lpFlags,
  [out] PBOOL   lpPermanent
);

參數

[in] hProcess

進程的控制碼。 需要PROCESS_QUERY_INFORMATION 許可權才能取得程式的 DEP 原則。

Windows XP 與 SP3:忽略 hProcess參數。

[out] lpFlags

接收下列一或多個旗標的 DWORD

意義
0
指定進程的 DEP 已停用。
PROCESS_DEP_ENABLE
0x00000001
已針對指定的進程啟用 DEP。
PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION
0x00000002
已停用指定進程的 DEP-ATL Thunk 模擬。 如需 DEP-ATL Thunk 模擬的詳細資訊,請參閱 SetProcessDEPPolicy

[out] lpPermanent

TRUE 是 表示 如果已針對指定的進程永久啟用或停用 DEP;否則 為 FALSE。 如果 lpPermanentTRUE,則目前的 DEP 設定會在進程存留期間持續存在,而且無法藉由呼叫 SetProcessDEPPolicy來變更。

傳回值

如果函式成功,則會傳回 TRUE

如果函式失敗,則會傳回 FALSE。 若要擷取為此函式定義的錯誤值,請呼叫 GetLastError

備註

只有 32 位進程才支援GetProcessDEPPolicy。 如果在 64 位進程上呼叫此函式,它會因為 ERROR_NOT_SUPPORTED而失敗。

若要編譯呼叫此函式的應用程式,請將 _WIN32_WINNT定義為0x0600 或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

規格需求

   
最低支援的用戶端 Windows Vista 搭配 SP1、Windows XP 與 SP3 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平台 Windows
標頭 winbase.h (包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

資料執行防止

GetSystemDEPPolicy

SetProcessDEPPolicy