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_SLOWLINK
策略正在通过慢速链接应用。
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
用户或计算机的令牌,从 LogonUser、 CreateRestrictedToken、 DuplicateToken、 OpenProcessToken 或 OpenThreadToken 函数返回。 此令牌必须具有 TOKEN_IMPERSONATE 和 TOKEN_QUERY 访问权限。 有关详细信息,请参阅 Access-Token 对象 和 客户端模拟的访问权限。
[in] hKeyRoot
HKEY_LOCAL_MACHINE或HKEY_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。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | userenv.h |