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

如果为指定进程永久启用或禁用 DEP,则为 TRUE;否则为 FALSE。 如果 lpPermanentTRUE,则当前 DEP 设置在进程的生命周期内保持不变,并且无法通过调用 SetProcessDEPPolicy 进行更改。

返回值

如果函数成功,则返回 TRUE

如果函数失败,则返回 FALSE。 若要检索为此函数定义的错误值,请调用 GetLastError

注解

GetProcessDEPPolicy 仅支持 32 位进程。 如果在 64 位进程中调用此函数,它将失败并 ERROR_NOT_SUPPORTED

若要编译调用此函数的应用程序, 请将_WIN32_WINNT 定义为 0x0600 或更高版本。 有关详细信息,请参阅 使用 Windows 标头

要求

   
最低受支持的客户端 带 SP1 的 Windows Vista、带 SP3 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

数据执行保护

GetSystemDEPPolicy

SetProcessDEPPolicy