PFNPROCESSGROUPPOLICY 回调函数 (userenv.h)

ProcessGroupPolicy 函数是应用策略时使用的应用程序定义的回调函数。 PFNPROCESSGROUPPOLICY 类型定义指向此回调函数的指针。 ProcessGroupPolicy 是应用程序定义的函数名称的占位符。

此回调函数对策略 (RSoP) 处理的结果集没有用;请改用 ProcessGroupPolicyEx 回调函数。

语法

PFNPROCESSGROUPPOLICY Pfnprocessgrouppolicy;

DWORD Pfnprocessgrouppolicy(
  [in] DWORD dwFlags,
  [in] HANDLE hToken,
  [in] HKEY hKeyRoot,
  [in] PGROUP_POLICY_OBJECT pDeletedGPOList,
  [in] PGROUP_POLICY_OBJECT pChangedGPOList,
  [in] ASYNCCOMPLETIONHANDLE pHandle,
  [in] BOOL *pbAbort,
  [in] PFNSTATUSMESSAGECALLBACK pStatusCallback
)
{...}

参数

[in] dwFlags

此参数可以是以下一个或多个标志。

GPO_INFO_FLAG_MACHINE

应用计算机策略而不是用户策略。

GPO_INFO_FLAG_BACKGROUND

执行策略的后台刷新。

GPO_INFO_FLAG_ASYNC_FOREGROUND

执行策略的异步前台刷新。 有关前台策略应用程序的详细信息,请参阅初始处理组策略

策略正在通过慢速链接应用。

GPO_INFO_FLAG_VERBOSE

将详细输出写入事件日志。

GPO_INFO_FLAG_NOCHANGES

未检测到对 GPO 的更改。

GPO_INFO_FLAG_LINKTRANSITION

在策略应用程序之间检测到链接速度的变化。

GPO_INFO_FLAG_LOGRSOP_TRANSITION

在应用上一个策略和应用当前策略之间检测到 RSoP 日志记录发生了更改。

GPO_INFO_FLAG_FORCED_REFRESH

正在应用强制策略刷新。

GPO_INFO_FLAG_SAFEMODE_BOOT

安全模式标志。

[in] hToken

用户或计算机的令牌,从 LogonUserCreateRestrictedTokenDuplicateTokenOpenProcessTokenOpenThreadToken 函数返回。 此令牌必须具有 TOKEN_IMPERSONATETOKEN_QUERY 访问权限。 有关详细信息,请参阅 Access-Token 对象客户端模拟的访问权限。

[in] hKeyRoot

HKEY_LOCAL_MACHINEHKEY_CURRENT_USER注册表项的句柄。

[in] pDeletedGPOList

接收已删除 GPO 结构列表的指针。 有关详细信息,请参阅 GROUP_POLICY_OBJECT

[in] pChangedGPOList

接收已更改 GPO 结构列表的指针。 有关详细信息,请参阅 GROUP_POLICY_OBJECT

[in] pHandle

异步完成句柄。 如果回调函数不支持异步处理,则此句柄为零。

[in] pbAbort

指定是否继续处理 GPO。 如果此参数为 TRUE,GPO 处理将停止。 如果此参数为 FALSE,则 GPO 处理将继续。

[in] pStatusCallback

指向显示 状态消息的 StatusMessageCallback 回调函数的指针。 在某些情况下,此参数可以为 NULL 。 例如,如果系统正在后台应用策略,则状态用户界面不存在,并且应用程序无法发送要显示的状态消息。 有关更多信息,请参见下面的“备注”部分。

返回值

如果已成功应用策略,则返回 ERROR_SUCCESS。 如果 GPO 列表没有更改,并且要再次调用扩展,则返回 ERROR_OVERRIDE_NOCHANGES。 返回 ERROR_OVERRIDE_NOCHANGES 可确保再次调用扩展,即使设置了 NoGPOListChanges 注册表值也是如此。 (有关此注册表值的详细信息,请参阅 Remarks.) 否则,返回 系统错误代码

注解

有关详细信息,请参阅实现组策略客户端扩展

系统在本地计算机上具有广泛权限的 LocalSystem 帐户的上下文中调用此函数。 若要使用网络资源,必须使用 hToken 参数中提供的令牌模拟用户或计算机。

若要注册此回调函数,请在以下注册表项下创建子项:

\ HKEY_LOCAL_MACHINE软件\微软\\ Windows NT CurrentVersion\Winlogon\GPExtensions\ClientExtensionGuid

子项应为 GUID,以便其唯一。 它应包含以下值。

仅当同步应用策略时,才应更新状态消息。 这使你可以在冗长的策略应用程序期间提供反馈和诊断。 若要使用状态消息回调函数,必须验证 pStatusCallback 是否不为 NULL。 然后加载消息字符串资源。 调用 status 函数时,必须指示字符串是否为详细字符串。 如果字符串为详细,则回调函数将验证计算机是否处于详细模式并显示消息。 有关详细信息,请参阅 StatusMessageCallback

警告 请勿从后台线程调用 pStatusCallback 函数,因为可能会覆盖另一个线程的状态消息。
 

要求

要求
最低受支持的客户端 Windows Vista
最低受支持的服务器 Windows Server 2008
目标平台 Windows
标头 userenv.h

另请参阅

组策略函数

组策略概述

ProcessGroupPolicyCompleted

RefreshPolicy

StatusMessageCallback