Specifica delle informazioni sul contesto
Configuration Manager offre diversi modi per filtrare i driver del Registro di sistema per assegnare informazioni di contesto alle operazioni del Registro di sistema. Un driver di filtro del Registro di sistema può:
Assegnare le informazioni di contesto alla routine RegistryCallback .
Quando il driver chiama CmRegisterCallback o CmRegisterCallbackEx per la registrazione per la notifica di un'operazione del Registro di sistema, il driver può specificare un valore di contesto definito dal driver. Configuration Manager passa questo valore di contesto alla routine RegistryCallback del driver ogni volta che configuration manager chiama la routine.
Queste informazioni di contesto sono supportate a partire da Windows XP.
Assegnare informazioni di contesto a un'operazione del Registro di sistema.
I driver possono archiviare informazioni di contesto specifiche dell'operazione nel membro CallContext di ogni REG_XXX_KEY_INFORMATION struttura ricevuta dalla routine RegistryCallback del driver. Se il driver riceve sia una notifica preliminare che una notifica successiva per un'operazione del Registro di sistema, la struttura REG_POST_OPERATION_INFORMATION contiene un puntatore alla struttura di pre-notifica appropriata. Quando una routine RegistryCallback riceve una struttura REG_POST_OPERATION_INFORMATION , il membro CallContext di tale struttura corrisponde al membro CallContext della struttura di pre-notifica.
Il membro CallContext di queste strutture è disponibile a partire da Windows Vista.
Assegnare informazioni di contesto a un oggetto chiave del Registro di sistema.
Una routine RegistryCallback può assegnare informazioni di contesto a un particolare oggetto chiave del Registro di sistema. Se la routine RegistryCallback chiama CmSetCallbackObjectContext per assegnare informazioni di contesto a un oggetto chiave, le successive notifiche di pre-notifica e post-notifiche per tutte le operazioni sull'oggetto includeranno il valore di contesto nel membro ObjectContext di ogni struttura REG_XXX_KEY_INFORMATION . Se un driver fornisce più routine RegistryCallback , il driver può assegnare informazioni di contesto diverse per ogni routine, per un singolo oggetto chiave del Registro di sistema.
Se un driver ha chiamato CmSetCallbackObjectContext, la routine RegistryCallback del driver riceverà una notifica RegNtCallbackObjectContextCleanup dopo la chiusura dell'handle dell'oggetto chiave. In risposta a questa notifica, la routine deve rilasciare tutte le risorse allocate per il contesto dell'oggetto. Quando il parametro Argument1 della routine RegistryCallback è RegNtCallbackObjectContextCleanup, il parametro Argument2 è un puntatore a una struttura REG_CALLBACK_CONTEXT_CLEANUP_INFORMATION che contiene un puntatore al contesto.
La routine CmSetCallbackObjectContext e la notifica RegNtCallbackObjectContextCleanup sono disponibili a partire da Windows Vista.