CmSetCallbackObjectContext, fonction (wdm.h)
La routine CmSetCallbackObjectContext associe de nouvelles informations de contexte à un objet de Registre et à une routine de rappel spécifiés.
Syntaxe
NTSTATUS CmSetCallbackObjectContext(
[in, out] PVOID Object,
[in] PLARGE_INTEGER Cookie,
[in] PVOID NewContext,
[out, optional] PVOID *OldContext
);
Paramètres
[in, out] Object
Pointeur vers l’objet de clé de Registre pour lequel le pilote fournit des informations de contexte. Le pilote obtient ce pointeur à partir du membre ResultObject de l’une des structures suivantes :
REG_OPEN_KEY_INFORMATION
REG_OPEN_KEY_INFORMATION_V1
[in] Cookie
Pointeur vers une valeur LARGE_INTEGER qui identifie la routine de rappel à laquelle associer le contexte. La routine CmRegisterCallbackEx a fourni cette valeur lorsque vous avez inscrit la routine de rappel.
[in] NewContext
Pointeur vers les informations de contexte définies par le pilote.
[out, optional] OldContext
Pointeur vers un emplacement qui reçoit un pointeur vers les informations de contexte que le pilote a précédemment associées à l’objet et au cookie spécifiés. Ce paramètre est facultatif et peut être NULL.
Valeur retournée
CmSetCallbackObjectContext retourne STATUS_SUCCESS ou une autre valeur de type NTSTATUS appropriée.
Remarques
La routine CmSetCallbackObjectContext est disponible à partir de Windows Vista.
La routine RegistryCallback d’un pilote peut appeler CmSetCallbackObjectContext pour n’importe quel objet de clé de Registre après la création ou l’ouverture de l’objet (c’est-à-dire pendant une notification postérieure à une opération de création, une opération d’ouverture ou toute notification ultérieure jusqu’à la notification préalable de fermeture du handle).
Si un pilote appelle CmSetCallbackObjectContext, la routine RegistryCallback du pilote reçoit une notification RegNtCallbackObjectContextCleanup une fois le handle de l’objet clé fermé ou après que le pilote a appelé CmUnRegisterCallback pour annuler l’inscription de la routine RegistryCallback . Lorsque la routine RegistryCallback reçoit cette notification, la routine doit libérer toutes les ressources qu’elle a allouées pour le contexte de l’objet.
Si CmSetCallbackObjectContext est appelé avant la notification RegNtCallbackObjectContextCleanup , OldContext peut toujours être référencé par RegistryCallback qui reçoit une autre notification. OldContext ne doit pas être publié avant la notification RegNtCallbackObjectContextCleanup .
Pour plus d’informations sur CmSetCallbackObjectContext et le filtrage des opérations de Registre, consultez Filtrage des appels du registre.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Vista. |
Plateforme cible | Universal |
En-tête | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |