Condividi tramite


Funzione di callback PFNPROCESSGROUPPOLICY (userenv.h)

La funzione ProcessGroupPolicy è una funzione di callback definita dall'applicazione usata durante l'applicazione dei criteri. Il tipo PFNPROCESSGROUPPOLICY definisce un puntatore a questa funzione di callback. ProcessGroupPolicy è un segnaposto per il nome della funzione definita dall'applicazione.

Questa funzione di callback non è utile per l'elaborazione del set di criteri risultante (RSoP); utilizzare invece la funzione di callback ProcessGroupPolicyEx .

Sintassi

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
)
{...}

Parametri

[in] dwFlags

Questo parametro può essere uno o più dei flag seguenti.

GPO_INFO_FLAG_MACHINE

Applicare i criteri computer anziché i criteri utente.

GPO_INFO_FLAG_BACKGROUND

Eseguire un aggiornamento in background dei criteri.

GPO_INFO_FLAG_ASYNC_FOREGROUND

Eseguire un aggiornamento in primo piano asincrono dei criteri. Per altre informazioni sull'applicazione dei criteri in primo piano, vedere Elaborazione iniziale di Criteri di gruppo.

I criteri vengono applicati attraverso un collegamento lento.

GPO_INFO_FLAG_VERBOSE

Scrivere un output dettagliato nel registro eventi.

GPO_INFO_FLAG_NOCHANGES

Non sono state rilevate modifiche all'oggetto Criteri di gruppo.

GPO_INFO_FLAG_LINKTRANSITION

È stata rilevata una modifica della velocità di collegamento tra le applicazioni dei criteri.

GPO_INFO_FLAG_LOGRSOP_TRANSITION

È stata rilevata una modifica nella registrazione RSoP tra l'applicazione dei criteri precedenti e l'applicazione dei criteri correnti.

GPO_INFO_FLAG_FORCED_REFRESH

Viene applicato un aggiornamento forzato dei criteri.

GPO_INFO_FLAG_SAFEMODE_BOOT

Flag modalità provvisoria.

[in] hToken

Token per l'utente o il computer restituito dalla funzione LogonUser, CreateRestrictedToken, DuplicateToken, OpenProcessToken o OpenThreadToken . Questo token deve avere accesso TOKEN_IMPERSONATE e TOKEN_QUERY . Per altre informazioni, vedere Diritti di accesso per oggetti Access-Token e rappresentazione client.

[in] hKeyRoot

Gestire la chiave del Registro di sistema HKEY_LOCAL_MACHINE o HKEY_CURRENT_USER .

[in] pDeletedGPOList

Puntatore che riceve l'elenco di strutture oggetto Criteri di gruppo eliminate. Per altre informazioni, vedere GROUP_POLICY_OBJECT.

[in] pChangedGPOList

Puntatore che riceve l'elenco delle strutture degli oggetti Criteri di gruppo modificate. Per altre informazioni, vedere GROUP_POLICY_OBJECT.

[in] pHandle

Handle di completamento asincrono. Se la funzione di callback non supporta l'elaborazione asincrona, questo handle è zero.

[in] pbAbort

Specifica se continuare l'elaborazione degli oggetti Criteri di gruppo. Se questo parametro è TRUE, l'elaborazione dell'oggetto Criteri di gruppo cesserà. Se questo parametro è FALSE, l'elaborazione dell'oggetto Criteri di gruppo continuerà.

[in] pStatusCallback

Puntatore a una funzione di callback StatusMessageCallback che visualizza i messaggi di stato. Questo parametro può essere NULL in determinati casi. Ad esempio, se il sistema applica i criteri in background, l'interfaccia utente di stato non è presente e l'applicazione non può inviare messaggi di stato da visualizzare. Per ulteriori informazioni, vedere la sezione Osservazioni successiva.

Valore restituito

Se i criteri sono stati applicati correttamente, restituire ERROR_SUCCESS. Se non sono state apportate modifiche all'elenco di oggetti Criteri di gruppo e l'estensione deve essere chiamata di nuovo, restituire ERROR_OVERRIDE_NOCHANGES. La restituzione di ERROR_OVERRIDE_NOCHANGES garantisce che l'estensione venga chiamata di nuovo, anche se il valore del Registro di sistema NoGPOListChanges è impostato. Per altre informazioni su questo valore del Registro di sistema, vedere Osservazioni. In caso contrario, restituisce un codice di errore di sistema.

Commenti

Per altre informazioni, vedere Implementazione di un'estensione lato client Criteri di gruppo.

Il sistema chiama questa funzione nel contesto dell'account LocalSystem, che dispone di privilegi estesi nel computer locale. Per usare le risorse di rete, è necessario rappresentare l'utente o il computer usando il token fornito nel parametro hToken .

Per registrare questa funzione di callback, creare una sottochiave nella seguente chiave del Registro di sistema:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Currentversion\Winlogon\GPExtensions\ClientExtensionGuid

La sottochiave deve essere un GUID, in modo che sia univoca. Deve contenere i valori seguenti.

È consigliabile aggiornare il messaggio di stato solo se si applicano i criteri in modo sincrono. In questo modo è possibile fornire commenti e suggerimenti e diagnostica durante un'applicazione di criteri lunga. Per usare la funzione di callback del messaggio di stato, è necessario verificare che pStatusCallback non sia NULL. Caricare quindi la risorsa della stringa di messaggio. Quando si chiama la funzione status, è necessario indicare se la stringa è dettagliata. Se la stringa è dettagliata, la funzione di callback verificherà che il computer sia in modalità dettagliata e visualizzi il messaggio. Per altre informazioni, vedere StatusMessageCallback.

Avviso Non chiamare la funzione pStatusCallback da un thread in background perché è possibile sovrascrivere il messaggio di stato di un altro thread.
 

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione userenv.h

Vedi anche

Funzioni Criteri di gruppo

Panoramica di Criteri di gruppo

ProcessGroupPolicyCompleted

RefreshPolicy

StatusMessageCallback