Función de devolución de llamada PFNPROCESSGROUPPOLICY (userenv.h)
La función ProcessGroupPolicy es una función de devolución de llamada definida por la aplicación que se usa al aplicar la directiva. El tipo PFNPROCESSGROUPPOLICY define un puntero a esta función de devolución de llamada. ProcessGroupPolicy es un marcador de posición para el nombre de la función definida por la aplicación.
Esta función de devolución de llamada no es útil para el procesamiento del conjunto resultante de directiva (RSoP); use la función de devolución de llamada ProcessGroupPolicyEx en su lugar.
Sintaxis
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
)
{...}
Parámetros
[in] dwFlags
Este parámetro puede ser una o varias de las marcas siguientes.
GPO_INFO_FLAG_MACHINE
Aplicar directiva de equipo en lugar de directiva de usuario.
GPO_INFO_FLAG_BACKGROUND
Realice una actualización en segundo plano de la directiva.
GPO_INFO_FLAG_ASYNC_FOREGROUND
Realice una actualización en primer plano asincrónica de la directiva. Para obtener más información sobre la aplicación de directiva en primer plano, consulte Procesamiento inicial de directiva de grupo.
GPO_INFO_FLAG_SLOWLINK
La directiva se está aplicando a través de un vínculo lento.
GPO_INFO_FLAG_VERBOSE
Escriba una salida detallada en el registro de eventos.
GPO_INFO_FLAG_NOCHANGES
No se detectaron cambios en el GPO.
GPO_INFO_FLAG_LINKTRANSITION
Se detectó un cambio en la velocidad del vínculo entre las aplicaciones de directiva.
GPO_INFO_FLAG_LOGRSOP_TRANSITION
Se detectó un cambio en el registro de RSoP entre la aplicación de la directiva anterior y la aplicación de la directiva actual.
GPO_INFO_FLAG_FORCED_REFRESH
Se está aplicando una actualización de directiva forzada.
GPO_INFO_FLAG_SAFEMODE_BOOT
Marca de modo seguro.
[in] hToken
Token para el usuario o equipo, devuelto por la función LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken o OpenThreadToken . Este token debe tener acceso TOKEN_IMPERSONATE y TOKEN_QUERY . Para obtener más información, vea Derechos de acceso para objetos de Access-Token y suplantación de cliente.
[in] hKeyRoot
Identificador de la clave del Registro de HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER .
[in] pDeletedGPOList
Puntero que recibe la lista de estructuras de GPO eliminadas. Para obtener más información, consulte GROUP_POLICY_OBJECT.
[in] pChangedGPOList
Puntero que recibe la lista de estructuras de GPO modificadas. Para obtener más información, consulte GROUP_POLICY_OBJECT.
[in] pHandle
Identificador de finalización asincrónica. Si la función de devolución de llamada no admite el procesamiento asincrónico, este identificador es cero.
[in] pbAbort
Especifica si se deben seguir procesando los GPO. Si este parámetro es TRUE, el procesamiento del GPO dejará de procesarse. Si este parámetro es FALSE, el procesamiento del GPO continuará.
[in] pStatusCallback
Puntero a una función de devolución de llamada StatusMessageCallback que muestra mensajes de estado. Este parámetro puede ser NULL en determinados casos. Por ejemplo, si el sistema está aplicando la directiva en segundo plano, la interfaz de usuario de estado no está presente y la aplicación no puede enviar mensajes de estado para que se muestren. Para obtener más información, vea la sección Comentarios que se muestra más adelante.
Valor devuelto
Si la directiva se aplicó correctamente, devuelva ERROR_SUCCESS. Si no hay ningún cambio en la lista de GPO y se volverá a llamar a la extensión, devuelva ERROR_OVERRIDE_NOCHANGES. Devolver ERROR_OVERRIDE_NOCHANGES garantiza que se vuelva a llamar a la extensión, incluso si se establece el valor del Registro NoGPOListChanges . (Para obtener más información sobre este valor del Registro, vea Comentarios). De lo contrario, devuelve un código de error del sistema.
Comentarios
Para obtener más información, vea Implementación de una extensión del lado cliente de directiva de grupo.
El sistema llama a esta función en el contexto de la cuenta LocalSystem, que tiene amplios privilegios en el equipo local. Para usar recursos de red, debe suplantar al usuario o equipo mediante el token proporcionado en el parámetro hToken .
Para registrar esta función de devolución de llamada, cree una subclave en la siguiente clave del Registro:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon\GPExtensions\ClientExtensionGuid
La subclave debe ser un GUID, de modo que sea único. Debe contener los valores siguientes.
Solo debe actualizar el mensaje de estado si está aplicando la directiva de forma sincrónica. Esto le permite proporcionar comentarios y diagnósticos durante una aplicación de directiva larga. Para usar la función de devolución de llamada de mensaje de estado, debe comprobar que pStatusCallback no es NULL. A continuación, cargue el recurso de cadena de mensaje. Al llamar a la función status, debe indicar si la cadena es detallada. Si la cadena es detallada, la función de devolución de llamada comprobará que el equipo está en modo detallado y mostrará el mensaje. Para obtener más información, vea StatusMessageCallback.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista |
Servidor mínimo compatible | Windows Server 2008 |
Plataforma de destino | Windows |
Encabezado | userenv.h |
Consulte también
Funciones de directiva de grupo