DeactivateActCtx 函数 (winbase.h)

DeactivateActCtx 函数停用与指定 Cookie 对应的激活上下文。

语法

BOOL DeactivateActCtx(
  [in] DWORD     dwFlags,
  [in] ULONG_PTR ulCookie
);

参数

[in] dwFlags

指示停用方式的标志。

含义
0
如果设置了此值,并且 ulCookie 参数中指定的 Cookie 位于激活堆栈的顶部帧中,则会从堆栈中弹出激活上下文,从而停用。

如果设置了此值,并且 ulCookie 参数中指定的 Cookie 不在激活堆栈的顶部帧中,则此函数在堆栈中向下搜索 Cookie。

如果找到 Cookie,则会引发STATUS_SXS_EARLY_DEACTIVATION异常。

如果未找到 Cookie,则会引发STATUS_SXS_INVALID_DEACTIVATION异常。

在大多数情况下,应指定此值。

DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION
如果设置了此值,并且 ulCookie 参数中指定的 Cookie 位于激活堆栈的顶部帧中,则函数将返回ERROR_INVALID_PARAMETER错误代码。 调用 GetLastError 以获取此代码。

如果设置了此值,并且 Cookie 不在激活堆栈上,则会引发STATUS_SXS_INVALID_DEACTIVATION异常。

如果设置了此值,并且 Cookie 位于激活堆栈的较低帧中,则会从堆栈中弹出所有到和包含 Cookie 的帧的帧。

[in] ulCookie

传递到 ActivateActCtx 调用中的ULONG_PTR。 此值用作 Cookie 来标识特定的已激活上下文。

返回值

如果函数成功,则返回 TRUE。 否则,它将返回 FALSE

此函数设置可通过调用 GetLastError 检索的错误。 有关示例,请参阅 检索 Last-Error 代码。 有关错误代码的完整列表,请参阅 系统错误代码

注解

停用激活上下文必须按相反的激活顺序进行。 这可以理解为从堆栈弹出激活上下文。

要求

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

另请参阅

ActivateActCtx